# A New Non-Restoring Square Root Algorithm and Its VLSI Implementations

Save this PDF as:

Size: px
Start display at page:

## Transcription

2 The paper is organized as follows. Section 2 describes previous non-restoring square root algorithms. Section gives our new non-restoring square root algorithm. Section 4 and 5 introduce two VLSI implementations for the new algorithm. One is a fully pipelined implementation and the other is a low-cost implementation. The following section investigates the performance and cost compared with the Newton iteration algorithm. The final section presents conclusions. 2. Previous Non-Restoring Square Root Algorithm Assume that an operand is denoted by a 2-bit unsigned number: D = D D D 29.D D. The value of the operand is D 2 + D 2 + D D 2 + D 2. For every pair of bits of the operand, the integer part of square root has one bit (see Fig. ). Thus the integer part of square root for a 2-bit operand has 6 bits: Q = Q 5 Q 4 Q.Q Q. OPERAND SQUARE ROOT D D D 29 D 28 D 27 D 26. D D Q Q. Q Q 5 4 Figure. Format of operand and square root At first, we reset Q = and then iterate from k = 5 to. In each iteration, we set Q k =, and subtract Q Q from D. If the result is negative, then setting Q k made Q too big, so we reset Q k =. This algorithm modifies each bit of Q twice. This is called a restoring square root algorithm. An implementation example can be found in [5]. A non-restoring square root algorithm modifies each bit of Q once rather than twice. It begins with an initial guess of Q = Q 5 Q 4 Q.Q Q =. (partial root) and then iterates from k = 4 to. In each iteration, D is subtracted by the squared partial root: D Q Q. Based on the sign of the result, the algorithm adds or subtracts a in Q k position. An 8-bit example of the algorithm is shown in Fig. 2. Implementation examples can be found in [] and [4]. We can see that the algorithm has following disadvantages. First, it requires an addition/subtraction (increase/decrease) operation to get a resulting bit value. Second, the algorithm may produce an error in the last bit position. Third, it requires an operation of D Q Q at each iteration with the result not being used for the next iteration. Although the multiplication of Q Q can be replaced by substitute variable, the circuitry required is still complex. D =,,, Q = D - Q x Q + Q = D - Q x Q - Q = D - Q x Q + Q = D - Q x Q =,,, =,,, =,,, =,,, is nonnegtive is negtive is nonnegtive Figure 2. An example of previous nonrestoring square root algorithm. The New Non-Restoring Square Root Algorithm The focus of the previous restoring and non-restoring algorithms is on each bit of the square root with each iteration. In this section, we describe a new non-restoring square root algorithm. The focus of the new algorithm is on the partial remainder with each iteration. The algorithm generates a correct resulting bit in each iteration including the last iteration. The operation during each iteration is very simple: addition or subtraction based on the sign of the result of previous iteration. The partial remainder generated in each iteration is used in the next iteration even it is negative (this is what non-restoring means in our new algorithm). At the final iteration, if the partial remainder is not negative, it becomes the final precise remainder. Otherwise, we can get the final precise remainder by an addition to the partial remainder. The following is the new non-restoring square root algorithm written in the C language. unsigned squart(d, r) /*Non-Restoring sqrt*/ unsigned D; /*D:2-bit unsigned integer to be square rooted */ int *r; { unsigned Q=; /*Q:6-bit unsigned integer (root)*/ int R=; /*R:7-bit integer (remainder)*/ int i; for (i=5;i>=;i--) /*for each root bit*/ { if (R>=) { /*new remainder:*/ R=(R<<2) ((D>>(i+i))&); R=R-((Q<<2) ); /*-Q*/ } else { /*new remainder:*/ R=(R<<2) ((D>>(i+i))&); 59

3 } R=R+((Q<<2) ); /*+Q*/ } if (R>=) Q=(Q<<) ; /*new Q:*/ else Q=(Q<<) ; /*new Q:*/ } /*remainder adjusting*/ if (R<) R= R+((Q<<) ); *r=r; /*return remainder*/ return(q); /*return root*/ Q 5 +Q 4 ) = 4 Q 5 Q 5 +4 Q 5 Q 4 +Q 4 Q 4 and RR 5 D 5 29 D 28 = 4 RR 5 +D 5 29 D 28 = 4 (D D Q 5 Q 5 )+D 29 D 28 = D D D 29 D 28 4 Q 5 Q 5, we can get Equation 2 from Equation : R 5 R 5 D 29 D 28 4 Q 5 Q 4 + Q 4 Q 4. (2) If we assume Q 4 =, the Equation 2 turns into R 5 R 5 D 29 D 28 4 Q 5 +. () An 8-bit numerical example is given in Fig.. For good readable, some high order remainder bits are also shown, but they are not needed. It is sufficient for the remainder to have at most one bit more than the root. D =,,, R = - R =, -, R =,, +,, R =,,, -,,, R =,,, R= (-Q) (-Q) (+Q) (-Q) Q= Q= Q= Q= Q= R: negative The value of right side of Equation is Q 5. If the result of RR 5 D 5 29 D 28 Q 5 is negative, then Q 4 =, i.e., q 4 = Q 5, otherwise Q 4 =, i.e., q 4 = Q 5. And we will have a new remainder: r 4 = R 4 RR 5 5 R 28 4 = D 29 D 28 4 Q 5 Q 4 + Q 4 Q 4, i.e., if Q 4 =, the remainder is left unchanged; RD 5 29 D 28 is just bypassed. In a VLSI implementation, a multiplexor can perform the selection of the unchanged remainder or the changed remainder generated by subtractor (See Fig. 4). q 5 = Q 5 r 5 = R 5 R 5 Q 5 R 5 R 5 D29 D28 Figure. An example of Non-Restoring Square Root Before we explain the reason of why the algorithm works, we will describe a restoring square root algorithm that also uses the partial remainder for the next iteration. For the D = D D D 29.D D and Q = D = Q 5 Q 4 Q.Q Q, we start the calculation with the most significant pair (D D ) of D. There are four possible values:,,, and. The integer part of the square root (Q 5 ) will be (for ) or (for,, and ). In general, we can determine the Q 5 by subtracting from D D. If the result is negative, then Q 5 =, otherwise Q 5 =. By subtracting Q 5 Q 5 from D D, we can get the partial remainder r 5 = RR 5 5 = D D Q 5 Q 5. Here, the 5 in RR 5 5 means that the remainder is for the square root bit Q 5. The possible values of the remainder include,, and. We also use q k to denote the partial root obtained at iteration k: q k = Q 5 Q 4.Q k. Now, consider the next pair (D 29 D 28 ). The new partial remainder is r 5 D 29 D 28 = RR 5 D 5 29 D 28. The present task is to find the Q 4 so that the partial root q 4 = Q 5 Q 4 is the integer part of the square root for D D D 29 D 28. We have Equation : D D D 29 D 28 (Q 5 Q 4 ) (Q 5 Q 4 ). () Since (Q 5 Q 4 ) (Q 5 Q 4 ) = (2 Q 5 + Q 4 ) (2 Q 5 Q 4 4 R 4 R29 4 R28 4 q 4= Q5 Q4 r 4 = R 4 R 4 29 R28 4 Figure 4. A multiplexor for restoring algorithm Note that the R 4 is always. The reason is as follows. If we assume T is the integer part of the square root of operand S, then we have the equation S = (T T + R) < (T + ) (T + ) where R is the remainder. Thus, R < (T + ) (T + ) T T = 2 T +, i.e., R 2 T because the remainder R is an integer. It means that the remainder has at most one binary bit more than the square root. For clarity, we will demonstrate the calculation of the next square root bit, Q. Consider the new pair (D 27 D 26 ), 54

4 we get the new remainder: R 4 we have R 4 28D 27 D 26. Similarly, D D D 29 D 28 D 27 D 26 (Q 5 Q 4 Q ) (Q 5 Q 4 Q ). (4) Since (Q 5 Q 4 Q ) (Q 5 Q 4 Q ) = (2 Q 5 Q 4 + Q ) (2 Q 5 Q 4 + Q ) = 4 Q 5 Q 4 Q 5 Q 4 +4 Q 5 Q 4 Q + Q Q and RR 4 28D 4 27 D 26 = D D D 29 D 28 D 27 D 26 4 Q 5 Q 4 Q 5 Q 4, we can get Equation 5: R 4 R 4 28D 27 D 26 4 Q 5 Q 4 Q + Q Q. (5) Again, if we assume Q =, the Equation 5 turns into RR 4 28D 4 27 D 26 4 Q 5 Q 4 + = Q 5 Q 4. (6) Also, Q = if RR 4 28D 4 27 D 26 Q 5 Q 4 is negative and Q = otherwise. The remainder r = R29R 28R 27R 26 will be unchanged when Q =, or r = R29R 28R 27R 26 = RR 4 28D 4 27 D 26 Q 5 Q 4 when Q =. Also note that R is always. We got q = Q 5 Q 4 Q. We can repeat this calculation until the q = Q 5 Q 4.Q is calculated. We can now explain why the non-restoring algorithm works. Let q k be the partial square root and r k ab be the partial remainder at step k where ab is the next pair of operand and a = D 2 k and b = D 2 k 2. The algorithm computes r k = r k ab q k (7) if the sign of the previous result is not negative. The new partial remainder is r k cd where cd is the next pair of operands and c = D 2 (k ) and d = D 2 (k ) 2, i.e., the new remainder r k cd = 4 r k + cd = 4 (r k ab q k ) + cd = r k abcd q k. (8) If r k is not negative, the algorithm is the same as the restoring algorithm: q k = 2 q k + = q k, (9) r k 2 = r k cd q k. () But if r k is negative, both the algorithms (restoring and non-restoring) compute q k = 2 q k + = q k, () while the restoring algorithm computes r k 2 = r k abcd q k, (2) where r k ab is the previous remainder passed via multiplexor. Referring to Equation 8, we can re-write Equation 2 as following. r k 2 = r k cd + q k q k. () Referring to Equation, we can re-write Equation as following. r k 2 = r k cd + q k q k. (4) Because q k q k = (8 q k + ) (4 q k + ) = 4 q k + = q k, we get r k 2 = r k cd + q k. (5) Equation 5 is just what the non-restoring algorithm does. In the VLSI implementation, only a single traditional adder/subtractor is required to generate a partial remainder and a bit value of partial root. The least significant bit (LSB) of the partial root is used for controlling the operation of adder/subtractors. If the LSB of partial root is, the adder/subtractor subtracts Q from R; if LSB of partial root is, the adder/subtractor adds Q to R. Therefore, the second least significant bit is just the inverse of the LSB of partial root (See Fig. 5). q 5 = Q 5 r 5 = R 5 R 5 Q 5 Q 5 Q 4 R 5 R 5 D29 D28 ADD/4 R 4 R 4 29 R28 4 q 4= Q5 Q4 r 4 = R 4 R29 4 R28 4 Figure 5. No multiplexor needed for nonrestoring algorithm Non-restoring in the previous algorithm means that the bit of the partial root is set one time, and then, based on the sign of D Q Q, the partial root is adjusted by adding or subtracting a in the corresponding position. However, non-restoring in our algorithm means that the remainder in each iteration is used for next iteration even if it is negative. Thus, the remainder is not restored by using the previous remainder as is done in the restoring algorithm via a multiplexor. In this sense, our non-restoring square root algorithm is very similar to the non-restoring division algorithm []. 54

5 D- Table. Operation of first stage 2 D- Input Output D D Q 5 R R Q5 R- D29- D29-28 D D D- 4 D29-28 Q5 Q4 R-28 D27-4 D27-26 Q5. Q4 R-28. D Figure 7. Simplification of the first two steps Q5-4 Q R29-26 D25-24 D25-4. VLSI Design of Fully Pipelined Version Q5- Q2 R28-24 D2-... Q5-2 Q Q5- Q 6 5 R7-2 D- D- 8 7 R6- Figure 6. Non-restoring square root pipeline The pipelined circuitry for a 2 bit unsigned number is shown in Fig. 6. There are 6 adder/subtractors. The numbers of bits for these adder/subtractors are, 4, 5, 6,., 8. The gate count required is reduced because no multiplexor is needed. Furthermore, based on Table, we can merge the first two steps into one step (see Fig. 7) with the following expressions. Q 5 = D D, R = D D, R = D. Such fully pipelined circuitry can initiate a new sqrt instruction with each clock cycle. 5. VLSI Design of Iterative Version An iterative low-cost version of the VLSI design for 2- bit operands is shown in Fig. 8. The 2-bit operand is placed in register D and it will be shifted two bits left in each iteration. Register Q holds the square root result and it is initialized to zero at the beginning. It will be shifted one 542

6 bit left in each iteration. Register R contains the partial remainder. It is cleared at the beginning in order to start the first iteration properly. be generated by Newton iteration two times for D = D D.D D and Q = Q 5 Q 4.Q Q by Equation 6: T i+ = T i ( Ti 2 D)/2, (6) D Shift register where T i is an approximate value of / D. At first, a seed (T ) is generated by a ROM table. After two-time iterations, the square root Q can be obtained by T 2 D (see Fig. 9). D Q Shift register 54 ROM / :+ :- ADD/ 8 BITS 7654 Ti R Partial Product Generator A B Figure 8. Iteration of non-restoring square root ADD/ A single adder/subtractor is required. It subtracts if the control input is, otherwise it adds. One resulting bit is generated in each clock cycle, and a total of 6 cycles is needed to get the final square root. Such low-cost circuitry can initiate a new sqrt instruction every 6 clock cycles. Compared to [4], the simplicity of the circuitry for our new algorithm can be readily appreciated. 6. Performance and Cost Evaluation In this section, we discuss the performance and cost of our algorithm compared with Newton iterative implementation. As mentioned in the introduction section, it is impractical to implement the fully pipelined version for Newton iteration (if it is not impractical, at least it is high cost), we only discuss on iterative implementations for both the algorithms. Consider that a correct result of Q = D can Q Figure 9. An implementation of Newton iteration Calculation time is measured by the number of clock cycles. We assume the time of a clock cycle t = t AS + t MX where the t AS is the delay time of adder/subtractor and the t MX is the delay time of the multiplexor. The cycle time of the circuitry for the new non-restoring algorithm is less than t because no multiplexor is used, i.e., t = t AS. Multiplication in Newton iteration takes two cycles: the partial product is generated in the first cycle and the product is generated in the second cycle by the adder. We assume that par- C 54

7 tial product generation can be finished within the cycle time t. Fig. 9 shows a possible implementation at the above assumed cycle time t. Table 2 shows the sequence of Newton iteration. This requires 7 cycles to get a square root, one cycle more than our algorithm. Table 2. Two-time Newton iterations for square root calculation Cycle Calculation Operation T T = ROM[D] 2 T 2 A, B = P artial P rod. T 2 C = A + B (Prod.) 4 T 2 D A, B = P artial P rod. 5 T 2 D C = A + B (Prod.) 6 T 2 D C = T 2 D 7 T ( T 2 D) A, B = P artial P rod. 8 (T ( T 2 D))/2 T = (A + B)/2 (Prod./2) 9 T 2 A, B = P artial P rod. T 2 C = A + B (Prod.) T 2 D A, B = P artial P rod. 2 T 2 D C = A + B (Prod.) T 2 D C = T 2 D 4 T ( T 2 D) A, B = P artial P rod. 5 (T ( T 2 D))/2 T 2 = (A + B)/2 (Prod./2) 6 T 2 D A, B = P artial P rod. 7 T 2 D C = A + B (Prod.) The contrast between cycles and gate counts of the two algorithms is listed in Table. We find that the new algorithm requires fewer cycles when the bit width of operand is 6 and 2, and the Newton method requires fewer cycles when the bit width of the operand is 64. The obvious advantage of the new non-restoring algorithm is that only a traditional adder/subtractor with few shift registers can perform square root operations efficiently. Table. Required time and space contrast of two implementations No. of Cycles No. of Gates Data Bits Newton , 5,8 8, Non-res , 2,2 It is clear that multiple functional units can be easily fabricated in a single chip processor with current VLSI technology. However, if some functional units, such as the multiplier and adder/subtractor for instance, are shared by different types of instructions, there will be resource conflicts, and the processor will not be capable of exploiting the instruction level parallelism very well. For example, if a multiplier in a processor is shared by the mul, div, sqrt instructions, it is impossible to issue these instructions in parallel even if there is no data dependency. Therefore, it is important for multiple-issued processors to have dedicated functional units that can perform special operations independently of each other. 7. Conclusion A new non-restoring square root algorithm was presented in this paper. The algorithm is highly suitable for VLSI designs and can exploit the advances in VLSI technology. Two VLSI implementations have illustrated the benefit of the algorithm: high speed was achieved at minimum cost because neither a multiplier nor a multiplexor is required. References [] J. Hennessy and D. Patterson, Computer Architecture, A Quantitative Approach, Second Edition, Morgan Kaufmann Publishers, Inc., 996. [2] G. Knittel, A VLSI-Design for Fast Vector Normalization Comput. & Graphics, Vol. 9, No. 2, 995. pp [] J. Bannur and A. Varma, The VLSI Implementation of A Square Root Algorithm, Proc. IEEE Symposium on Computer Arithmetic, IEEE Computer Society Press, Washington D.C., 985. pp [4] J. O Leary, M. Leeser, J. Hickey, M. Aagaard, Non- Restoring Integer Square Root: A Case Study in Design by Principled Optimization, Proc. 2nd International Conference on Theorem Provers in Circuit Design (TPCD94), 994. pp52-7. [5] K. C. Johnson, Efficient Square Root Implementation on the 68, ACM Transaction on Mathematical Software, Vol., No. 2, 987. pp8-5. [6] H. Kabuo, T. Taniguchi, A. Miyoshi, H. Yamashita, M. Urano, H. Edamatsu, S. Kuninobu, Accurate Rounding Scheme for the Newton-Raphson Method Using Redundant Binary Representation, IEEE Transaction on Computers, Vol. 4, No., 994. pp4-5. [7] Y. Li and W. Chu, Design and Performance Analysis of A Multiple-threaded Multiple-pipelined Architecture, Proc. of the Second International Conference on High Performance Computing, New Delhi, India, December 995. pp

### Let s put together a Manual Processor

Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce

### VLSI Architecture for DCT Based On High Quality DA

International Journal of Engineering and Technical Research (IJETR) ISSN: 2321-0869, Volume-2, Issue-6, June 2014 VLSI Architecture for DCT Based On High Quality DA Urbi Sharma, Tarun Verma, Rita Jain

### Integer multiplication

Integer multiplication Suppose we have two unsigned integers, A and B, and we wish to compute their product. Let A be the multiplicand and B the multiplier: A n 1... A 1 A 0 multiplicand B n 1... B 1 B

### THE advantages of using the residue number system (RNS)

IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 54, NO. 9, SEPTEMBER 2007 775 RNS-To-Binary Converter for a New Three-Moduli Set 2 n+1 1; 2 n ; 2 n 1 Pemmaraju V. Ananda Mohan, Fellow,

### An Efficient RNS to Binary Converter Using the Moduli Set {2n + 1, 2n, 2n 1}

An Efficient RNS to Binary Converter Using the oduli Set {n + 1, n, n 1} Kazeem Alagbe Gbolagade 1,, ember, IEEE and Sorin Dan Cotofana 1, Senior ember IEEE, 1. Computer Engineering Laboratory, Delft University

### Fixed-Point Arithmetic

Fixed-Point Arithmetic Fixed-Point Notation A K-bit fixed-point number can be interpreted as either: an integer (i.e., 20645) a fractional number (i.e., 0.75) 2 1 Integer Fixed-Point Representation N-bit

### Implementation of Modified Booth Algorithm (Radix 4) and its Comparison with Booth Algorithm (Radix-2)

Advance in Electronic and Electric Engineering. ISSN 2231-1297, Volume 3, Number 6 (2013), pp. 683-690 Research India Publications http://www.ripublication.com/aeee.htm Implementation of Modified Booth

### Floating Point Fused Add-Subtract and Fused Dot-Product Units

Floating Point Fused Add-Subtract and Fused Dot-Product Units S. Kishor [1], S. P. Prakash [2] PG Scholar (VLSI DESIGN), Department of ECE Bannari Amman Institute of Technology, Sathyamangalam, Tamil Nadu,

### Counters and Decoders

Physics 3330 Experiment #10 Fall 1999 Purpose Counters and Decoders In this experiment, you will design and construct a 4-bit ripple-through decade counter with a decimal read-out display. Such a counter

### Design and FPGA Implementation of a Novel Square Root Evaluator based on Vedic Mathematics

International Journal of Information & Computation Technology. ISSN 0974-2239 Volume 4, Number 15 (2014), pp. 1531-1537 International Research Publications House http://www. irphouse.com Design and FPGA

### Understanding Logic Design

Understanding Logic Design ppendix of your Textbook does not have the needed background information. This document supplements it. When you write add DD R0, R1, R2, you imagine something like this: R1

### A 32-Bit Signed/Unsigned Fixed Point Non-Restoring Square-Root Operation Using VHDL

A 32-Bit Signed/Unsigned Fixed Point Non-Restoring Square-Root Operation Using VHDL Ms. M.U. Buradkar, Prof. P. P. Zode Department of Electronics Engg. Yeshwantrao Chavan College of Engineering, Nagpur,

### LINEAR EQUATIONS IN TWO VARIABLES

66 MATHEMATICS CHAPTER 4 LINEAR EQUATIONS IN TWO VARIABLES The principal use of the Analytic Art is to bring Mathematical Problems to Equations and to exhibit those Equations in the most simple terms that

### COMPUTER ARCHITECTURE. ALU (2) - Integer Arithmetic

HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK COMPUTER ARCHITECTURE Lecture 11 ALU (2) - Integer Arithmetic Sommersemester 21 Leitung: Prof. Dr. Miroslaw Malek www.informatik.hu-berlin.de/rok/ca

### Chapter 4. Arithmetic for Computers

Chapter 4 Arithmetic for Computers Arithmetic Where we've been: Performance (seconds, cycles, instructions) What's up ahead: Implementing the Architecture operation a b 32 32 ALU 32 result 2 Constructing

### IJCSIET-- International Journal of Computer Science information and Engg., Technologies ISSN 2277-4408 01092015-061

Implementation of Power Optimized CSLA Architecture using D-Latch Approach 1 A.Prasanthi, 2 R.Sumalatha 1 Student, 2 Associate professor 1,2 G. Pullaiah College of Engineering & Technology, Kurnool, Andhra

### A NEW EFFICIENT FPGA DESIGN OF RESIDUE-TO-BINARY CONVERTER

A NEW EFFICIENT FPGA DESIGN OF RESIDUE-TO-BINARY CONVERTER Edem Kwedzo Bankas and Kazeem Alagbe Gbolagade Department of Computer Science, Faculty of Mathematical Science, University for Development Studies,

### Redundant Radix-4 Representation With High Speed Arithmetic Coprocessor Using Carry Save And Redundant Signed Digit Technique

Redundant Radix-4 Representation With High Speed Arithmetic Coprocessor Using Carry Save And Redundant Signed Digit Technique Ashish Manoharrao Ingale Abstract: Division is the inverse of multiplication

### Binary Division. Decimal Division. Hardware for Binary Division. Simple 16-bit Divider Circuit

Decimal Division Remember 4th grade long division? 43 // quotient 12 521 // divisor dividend -480 41-36 5 // remainder Shift divisor left (multiply by 10) until MSB lines up with dividend s Repeat until

### Divide: Paper & Pencil. Computer Architecture ALU Design : Division and Floating Point. Divide algorithm. DIVIDE HARDWARE Version 1

Divide: Paper & Pencil Computer Architecture ALU Design : Division and Floating Point 1001 Quotient Divisor 1000 1001010 Dividend 1000 10 101 1010 1000 10 (or Modulo result) See how big a number can be

### FPGA Implementation of an Extended Binary GCD Algorithm for Systolic Reduction of Rational Numbers

FPGA Implementation of an Extended Binary GCD Algorithm for Systolic Reduction of Rational Numbers Bogdan Mătăsaru and Tudor Jebelean RISC-Linz, A 4040 Linz, Austria email: bmatasar@risc.uni-linz.ac.at

### Today. Binary addition Representing negative numbers. Andrew H. Fagg: Embedded Real- Time Systems: Binary Arithmetic

Today Binary addition Representing negative numbers 2 Binary Addition Consider the following binary numbers: 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 1 How do we add these numbers? 3 Binary Addition 0 0 1 0 0 1 1

### IMPLEMENTATION OF HIGH SPEED ENHANCED CSLA BASED ON GATED D-LATCH

IMPLEMENTATION OF HIGH SPEED ENHANCED BASED ON GATED D-LATCH 1 MEDA NAGAPAVANI, 2 T. JYOTHI 1 P.G Student, VLSI Design, Dept of ECE, 2 Assistant Professor, Dept of ECE. Sri Venkatesa Perumal College of

### An Effective Deterministic BIST Scheme for Shifter/Accumulator Pairs in Datapaths

An Effective Deterministic BIST Scheme for Shifter/Accumulator Pairs in Datapaths N. KRANITIS M. PSARAKIS D. GIZOPOULOS 2 A. PASCHALIS 3 Y. ZORIAN 4 Institute of Informatics & Telecommunications, NCSR

### IMPLEMENTATION OF HIGH SPEED ENHANCED CSLA BASED ON GATED D-LATCH:

IMPLEMENTATION OF HIGH SPEED ENHANCED BASED ON GATED D-LATCH 1 MEDA NAGAPAVANI, 2 T. JYOTHI 1 P.G Student, VLSI Design, Dept of ECE, 2 Assistant Professor, Dept of ECE. Sri Venkatesa Perumal College of

### ECE 3401 Lecture 9. VHDL for Arithmetic Functions and Circuits

ECE 3401 Lecture 9 VHDL for Arithmetic Functions and Circuits Outline Arithmetic Functions and Circuits: operate on binary vectors, use the same sub-function in each bit position Adders Multipliers Others

### POLYNOMIAL FUNCTIONS

POLYNOMIAL FUNCTIONS Polynomial Division.. 314 The Rational Zero Test.....317 Descarte s Rule of Signs... 319 The Remainder Theorem.....31 Finding all Zeros of a Polynomial Function.......33 Writing a

### Design and Analysis of Parallel AES Encryption and Decryption Algorithm for Multi Processor Arrays

IOSR Journal of VLSI and Signal Processing (IOSR-JVSP) Volume 5, Issue, Ver. III (Jan - Feb. 205), PP 0- e-issn: 239 4200, p-issn No. : 239 497 www.iosrjournals.org Design and Analysis of Parallel AES

### Sample Problems. Practice Problems

Lecture Notes Quadratic Word Problems page 1 Sample Problems 1. The sum of two numbers is 31, their di erence is 41. Find these numbers.. The product of two numbers is 640. Their di erence is 1. Find these

### Lecture 8: Binary Multiplication & Division

Lecture 8: Binary Multiplication & Division Today s topics: Addition/Subtraction Multiplication Division Reminder: get started early on assignment 3 1 2 s Complement Signed Numbers two = 0 ten 0001 two

### Simulation & Synthesis Using VHDL

Floating Point Multipliers: Simulation & Synthesis Using VHDL By: Raj Kumar Singh - B.E. (Hons.) Electrical & Electronics Shivananda Reddy - B.E. (Hons.) Electrical & Electronics BITS, PILANI Outline Introduction

### #5. Show and the AND function can be constructed from two NAND gates.

Study Questions for Digital Logic, Processors and Caches G22.0201 Fall 2009 ANSWERS Digital Logic Read: Sections 3.1 3.3 in the textbook. Handwritten digital lecture notes on the course web page. Study

### This Unit: Floating Point Arithmetic. CIS 371 Computer Organization and Design. Readings. Floating Point (FP) Numbers

This Unit: Floating Point Arithmetic CIS 371 Computer Organization and Design Unit 7: Floating Point App App App System software Mem CPU I/O Formats Precision and range IEEE 754 standard Operations Addition

### Mathematics of Cryptography Modular Arithmetic, Congruence, and Matrices. A Biswas, IT, BESU SHIBPUR

Mathematics of Cryptography Modular Arithmetic, Congruence, and Matrices A Biswas, IT, BESU SHIBPUR McGraw-Hill The McGraw-Hill Companies, Inc., 2000 Set of Integers The set of integers, denoted by Z,

### Module 3: Floyd, Digital Fundamental

Module 3: Lecturer : Yongsheng Gao Room : Tech - 3.25 Email : yongsheng.gao@griffith.edu.au Structure : 6 lectures 1 Tutorial Assessment: 1 Laboratory (5%) 1 Test (20%) Textbook : Floyd, Digital Fundamental

### To convert an arbitrary power of 2 into its English equivalent, remember the rules of exponential arithmetic:

Binary Numbers In computer science we deal almost exclusively with binary numbers. it will be very helpful to memorize some binary constants and their decimal and English equivalents. By English equivalents

### COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about

### 4 Combinational Components

Chapter 4 Combinational Components Page of 8 4 Combinational Components In constructing large digital circuits, instead of starting with the basic gates as building blocks, we often start with larger building

### Homework 5 Solutions

Homework 5 Solutions 4.2: 2: a. 321 = 256 + 64 + 1 = (01000001) 2 b. 1023 = 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = (1111111111) 2. Note that this is 1 less than the next power of 2, 1024, which

### Useful Number Systems

Useful Number Systems Decimal Base = 10 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Binary Base = 2 Digit Set = {0, 1} Octal Base = 8 = 2 3 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7} Hexadecimal Base = 16 = 2

### Restoring division. 2. Run the algorithm Let s do 0111/0010 (7/2) unsigned. 3. Find remainder here. 4. Find quotient here.

Binary division Dividend = divisor q quotient + remainder CS/COE447: Computer Organization and Assembly Language Given dividend and divisor, we want to obtain quotient (Q) and remainder (R) Chapter 3 We

### CHAPTER TEN. 10.1 New Truth Table Symbols. 10.1.1 Edges/Transitions. Memory Cells

CHAPTER TEN Memory Cells The previous chapters presented the concepts and tools behind processing binary data. This is only half of the battle though. For example, a logic circuit uses inputs to calculate

### AN IMPROVED DESIGN OF REVERSIBLE BINARY TO BINARY CODED DECIMAL CONVERTER FOR BINARY CODED DECIMAL MULTIPLICATION

American Journal of Applied Sciences 11 (1): 69-73, 2014 ISSN: 1546-9239 2014 Science Publication doi:10.3844/ajassp.2014.69.73 Published Online 11 (1) 2014 (http://www.thescipub.com/ajas.toc) AN IMPROVED

### Properties of Real Numbers

16 Chapter P Prerequisites P.2 Properties of Real Numbers What you should learn: Identify and use the basic properties of real numbers Develop and use additional properties of real numbers Why you should

### Signed Binary Arithmetic

Signed Binary Arithmetic In the real world of mathematics, computers must represent both positive and negative binary numbers. For example, even when dealing with positive arguments, mathematical operations

### Lab 4 Large Number Arithmetic. ECE 375 Oregon State University Page 29

Lab 4 Large Number Arithmetic ECE 375 Oregon State University Page 29 Objectives Understand and use arithmetic and ALU operations Manipulate and handle large numbers Create and handle functions and subroutines

### Determine If An Equation Represents a Function

Question : What is a linear function? The term linear function consists of two parts: linear and function. To understand what these terms mean together, we must first understand what a function is. The

### Chapter 6 Digital Arithmetic: Operations & Circuits

Chapter 6 Digital Arithmetic: Operations & Circuits Chapter 6 Objectives Selected areas covered in this chapter: Binary addition, subtraction, multiplication, division. Differences between binary addition

### Elementary Number Theory We begin with a bit of elementary number theory, which is concerned

CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,

### Problem Set 7 - Fall 2008 Due Tuesday, Oct. 28 at 1:00

18.781 Problem Set 7 - Fall 2008 Due Tuesday, Oct. 28 at 1:00 Throughout this assignment, f(x) always denotes a polynomial with integer coefficients. 1. (a) Show that e 32 (3) = 8, and write down a list

### BOOLEAN ALGEBRA & LOGIC GATES

BOOLEAN ALGEBRA & LOGIC GATES Logic gates are electronic circuits that can be used to implement the most elementary logic expressions, also known as Boolean expressions. The logic gate is the most basic

### Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals of Computer Organization and Design. Introduction

### Solution: start more than one instruction in the same clock cycle CPI < 1 (or IPC > 1, Instructions per Cycle) Two approaches:

Multiple-Issue Processors Pipelining can achieve CPI close to 1 Mechanisms for handling hazards Static or dynamic scheduling Static or dynamic branch handling Increase in transistor counts (Moore s Law):

### MATH 10034 Fundamental Mathematics IV

MATH 0034 Fundamental Mathematics IV http://www.math.kent.edu/ebooks/0034/funmath4.pdf Department of Mathematical Sciences Kent State University January 2, 2009 ii Contents To the Instructor v Polynomials.

### Chapter - 5 FLIP-FLOPS AND SIMPLE FLIP-FLOP APPLICATIONS

Chapter - 5 FLIP-FLOPS AND SIMPLE FLIP-FLOP APPLICATIONS Introduction : Logic circuit is divided into two types. 1. Combinational Logic Circuit 2. Sequential Logic Circuit Definition : 1. Combinational

### BINARY CODED DECIMAL: B.C.D.

BINARY CODED DECIMAL: B.C.D. ANOTHER METHOD TO REPRESENT DECIMAL NUMBERS USEFUL BECAUSE MANY DIGITAL DEVICES PROCESS + DISPLAY NUMBERS IN TENS IN BCD EACH NUMBER IS DEFINED BY A BINARY CODE OF 4 BITS.

### Simplified VHDL Coding of Modified Non-Restoring Square Root Calculator

International Journal of Reconfigurable and Embedded Systems (IJRES) Vol. 1, No. 1, March 2012, pp. 37~42 ISSN: 2089-4864 37 Simplified VHDL Coding of Modified Non-Restoring Square Root Calculator Tole

### Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Chapter 4 Register Transfer and Microoperations Section 4.1 Register Transfer Language Digital systems are composed of modules that are constructed from digital components, such as registers, decoders,

### Lecture 8: Synchronous Digital Systems

Lecture 8: Synchronous Digital Systems The distinguishing feature of a synchronous digital system is that the circuit only changes in response to a system clock. For example, consider the edge triggered

### Solving Quadratic Equations by Completing the Square

9. Solving Quadratic Equations by Completing the Square 9. OBJECTIVES 1. Solve a quadratic equation by the square root method. Solve a quadratic equation by completing the square. Solve a geometric application

### Solving Rational Equations

Lesson M Lesson : Student Outcomes Students solve rational equations, monitoring for the creation of extraneous solutions. Lesson Notes In the preceding lessons, students learned to add, subtract, multiply,

### ECC ENCRYPTION SYSTEM USING ENCODED MULTIPLIER AND VEDIC MATHEMATICS

ECC ENCRYPTION SYSTEM USING ENCODED MULTIPLIER AND VEDIC MATHEMATICS Bonifus PL 1, Dani George 2 Asst. Professor, Dept. of ECE, Rajagiri School of Engineering & Technology, Kochi, Kerala, India 1 PG Student

### Chapter 7 - Roots, Radicals, and Complex Numbers

Math 233 - Spring 2009 Chapter 7 - Roots, Radicals, and Complex Numbers 7.1 Roots and Radicals 7.1.1 Notation and Terminology In the expression x the is called the radical sign. The expression under the

### CS 103X: Discrete Structures Homework Assignment 3 Solutions

CS 103X: Discrete Structures Homework Assignment 3 s Exercise 1 (20 points). On well-ordering and induction: (a) Prove the induction principle from the well-ordering principle. (b) Prove the well-ordering

### Implementation of Full -Parallelism AES Encryption and Decryption

Implementation of Full -Parallelism AES Encryption and Decryption M.Anto Merline M.E-Commuication Systems, ECE Department K.Ramakrishnan College of Engineering-Samayapuram, Trichy. Abstract-Advanced Encryption

### quotient = dividend / divisor, with a remainder Given dividend and divisor, we want to obtain quotient (Q) and remainder (R)

Binary division quotient = dividend / divisor, with a remainder dividend = divisor quotient + remainder Given dividend and divisor, we want to obtain quotient (Q) and remainder (R) We will start from our

### Binary Numbers. Bob Brown Information Technology Department Southern Polytechnic State University

Binary Numbers Bob Brown Information Technology Department Southern Polytechnic State University Positional Number Systems The idea of number is a mathematical abstraction. To use numbers, we must represent

### ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite

ALGEBRA Pupils should be taught to: Generate and describe sequences As outcomes, Year 7 pupils should, for example: Use, read and write, spelling correctly: sequence, term, nth term, consecutive, rule,

### CHAPTER 3 Numbers and Numeral Systems

CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,

### Roots of Equations (Chapters 5 and 6)

Roots of Equations (Chapters 5 and 6) Problem: given f() = 0, find. In general, f() can be any function. For some forms of f(), analytical solutions are available. However, for other functions, we have

### FAST INVERSE SQUARE ROOT

FAST INVERSE SQUARE ROOT CHRIS LOMONT Abstract. Computing reciprocal square roots is necessary in many applications, such as vector normalization in video games. Often, some loss of precision is acceptable

### 8 Primes and Modular Arithmetic

8 Primes and Modular Arithmetic 8.1 Primes and Factors Over two millennia ago already, people all over the world were considering the properties of numbers. One of the simplest concepts is prime numbers.

### Design, Comparison and Implementation of Multipliers on FPGA

International Journal of Engineering and Technical Research (IJETR) ISSN: 2321-0869, Volume-1, Issue-7, September 2013 Design, Comparison and Implementation of Multipliers on FPGA B Naga Venkata Satya

### Linear Dependence Tests

Linear Dependence Tests The book omits a few key tests for checking the linear dependence of vectors. These short notes discuss these tests, as well as the reasoning behind them. Our first test checks

### IJESRT. [Padama, 2(5): May, 2013] ISSN: 2277-9655

IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY Design and Verification of VLSI Based AES Crypto Core Processor Using Verilog HDL Dr.K.Padama Priya *1, N. Deepthi Priya 2 *1,2

### SQUARE ROOT ON CHIP. Borisav Jovanović, Milunka Damnjanović and Vančo Litovski 1

SQUARE ROOT ON CHIP Borisav Jovanović, Milunka Damnjanović and Vančo Litovski 1 Key words: Digital Signal Processing (DSP), square root, division, algorithm implementation. Abstract Three algorithm implementations

### Zuse's Z3 Square Root Algorithm Talk given at Fall meeting of the Ohio Section of the MAA October 1999 - College of Wooster

Zuse's Z3 Square Root Algorithm Talk given at Fall meeting of the Ohio Section of the MAA October 1999 - College of Wooster Abstract Brian J. Shelburne Dept of Math and Comp Sci Wittenberg University In

### Contents. Introduction and Notes pages 2-3 (These are important and it s only 2 pages ~ please take the time to read them!)

Page Contents Introduction and Notes pages 2-3 (These are important and it s only 2 pages ~ please take the time to read them!) Systematic Search for a Change of Sign (Decimal Search) Method Explanation

### 1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

File: chap04, Chapter 04 1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1. 2. True or False? A gate is a device that accepts a single input signal and produces one

### Section IV.1: Recursive Algorithms and Recursion Trees

Section IV.1: Recursive Algorithms and Recursion Trees Definition IV.1.1: A recursive algorithm is an algorithm that solves a problem by (1) reducing it to an instance of the same problem with smaller

### SOLVING EQUATIONS WITH RADICALS AND EXPONENTS 9.5. section ( 3 5 3 2 )( 3 25 3 10 3 4 ). The Odd-Root Property

498 (9 3) Chapter 9 Radicals and Rational Exponents Replace the question mark by an expression that makes the equation correct. Equations involving variables are to be identities. 75. 6 76. 3?? 1 77. 1

### 1. Realization of gates using Universal gates

1. Realization of gates using Universal gates Aim: To realize all logic gates using NAND and NOR gates. Apparatus: S. No Description of Item Quantity 1. IC 7400 01 2. IC 7402 01 3. Digital Trainer Kit

### 3.1. RATIONAL EXPRESSIONS

3.1. RATIONAL EXPRESSIONS RATIONAL NUMBERS In previous courses you have learned how to operate (do addition, subtraction, multiplication, and division) on rational numbers (fractions). Rational numbers

### A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

Other architectures Example. Accumulator-based machines A single register, called the accumulator, stores the operand before the operation, and stores the result after the operation. Load x # into acc

### Hardware Implementations of RSA Using Fast Montgomery Multiplications. ECE 645 Prof. Gaj Mike Koontz and Ryon Sumner

Hardware Implementations of RSA Using Fast Montgomery Multiplications ECE 645 Prof. Gaj Mike Koontz and Ryon Sumner Overview Introduction Functional Specifications Implemented Design and Optimizations

### FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING

FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING Hussain Al-Asaad and Alireza Sarvi Department of Electrical & Computer Engineering University of California Davis, CA, U.S.A.

### Binary Adder. sum of 2 binary numbers can be larger than either number need a carry-out to store the overflow

Binary Addition single bit addition Binary Adder sum of 2 binary numbers can be larger than either number need a carry-out to store the overflow Half-Adder 2 inputs (x and y) and 2 outputs (sum and carry)

### Quantum implementation of elementary arithmetic operations

Quantum implementation of elementary arithmetic operations G. Florio and D. Picca INFN (Sezione di Bari and Dipartimento di Fisica, Università di Bari, Via Orabona 4, 706, Bari, Italy Abstract Quantum

### Signed Arithmetic in Verilog 2001 Opportunities and Hazards

Signed Arithmetic in Verilog 2001 Opportunities and Hazards Dr. Greg Tumbush, Starkey Labs, Colorado Springs, CO Introduction Starkey Labs is in the business of designing and manufacturing hearing aids.

### Computer Architecture TDTS10

why parallelism? Performance gain from increasing clock frequency is no longer an option. Outline Computer Architecture TDTS10 Superscalar Processors Very Long Instruction Word Processors Parallel computers

### A Parallel Processor for Distributed Genetic Algorithm with Redundant Binary Number

A Parallel Processor for Distributed Genetic Algorithm with Redundant Binary Number 1 Tomohiro KAMIMURA, 2 Akinori KANASUGI 1 Department of Electronics, Tokyo Denki University, 07ee055@ms.dendai.ac.jp

### 0.8 Rational Expressions and Equations

96 Prerequisites 0.8 Rational Expressions and Equations We now turn our attention to rational expressions - that is, algebraic fractions - and equations which contain them. The reader is encouraged to

### NEW adder cells are useful for designing larger circuits despite increase in transistor count by four per cell.

CHAPTER 4 THE ADDER The adder is one of the most critical components of a processor, as it is used in the Arithmetic Logic Unit (ALU), in the floating-point unit and for address generation in case of cache

### Definition 1 Let a and b be positive integers. A linear combination of a and b is any number n = ax + by, (1) where x and y are whole numbers.

Greatest Common Divisors and Linear Combinations Let a and b be positive integers The greatest common divisor of a and b ( gcd(a, b) ) has a close and very useful connection to things called linear combinations

### Solve addition and subtraction word problems, and add and subtract within 10, e.g., by using objects or drawings to represent the problem.

Solve addition and subtraction word problems, and add and subtract within 10, e.g., by using objects or drawings to represent the problem. Solve word problems that call for addition of three whole numbers

### LAB MANUAL SUBJECT: DIGITAL LOGIC DESIGN AND APPLICATIONS SE (COMPUTERS) SEM III

LAB MANUAL SUBJECT: DIGITAL LOGIC DESIGN AND APPLICATIONS SE (COMPUTERS) SEM III 1 INDEX Sr. No Title of the Experiment 1 Study of BASIC Gates 3 2 Universal Gates 6 3 Study of Full & Half Adder & Subtractor