ran H ■ WfflBBEBmm mnrfflnlnfflliflflfWTfHfffffffl IWiil ■ V H siliiliil Inn >m HI BHI I liti m Hi »{ ■■■■ JBafNBUlKls ■ «H JH ■I m IS n ■ Hi *wJf' me BaS SHI H iKBKlra ■aSS RmSSE «i*if ■■■■■■I g&gg ■■1 Bfl Bl .-.1 DM ms ■ S Iral 11 hiii LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAICN 510.84 TlQr ho. 637 -£42 cop. 2~ The person charging this material is re- sponsible for ,ts return to the library from which it was withdrawn on or before the Latest Date stamped below. for e, di«Tf < * i0 "' ° nd Under,ini "9 <" books are reasons .:: srsr ae,ion and may resu,t * -— <™ To renew call Telephone Center, 333-8400 ml 2 1 m -o SEP 2 2 ROT L161— O-1096 Digitized by the Internet Archive in 2013 http://archive.org/details/noteonatrubinsre640goya UIUCDCS-R-7 ] +-6i40 yyuM A NOTE ON ATRUBIN'S REAL-TIME ITERATIVE MULTIPLIER by Lakshmi N. Goyal July 197^ DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN URBANA, ILLINOIS UIUCDCS-R-7^-6UO A NOTE ON ATRUBIN'S REAL-TIME ITERATIVE MULTIPLIER* by Lakshmi N. Goyal July 197^ Department of Computer Science University of Illinois at Urbana- Champaign Urbana, Illinois *This work was supported in part by National Science Foundation under Grant No. US-NSF-GJ-3820U. ABSTRACT This note presents a new multiplication algorithm for Atrubin's one-dimensional real time iterative multiplier such that all the cells including the first cell in the array are identical in all respects, for the no-delay case. Ackn ow le dg ement The author wishes to thank Professor J. E. Robertson for his encouragement and interest in this work. In addition, the author is thankful to his colleague Dr. K. S. Trivedi for suggestions that improved the readability of the paper. I. INTRODUCTION In his paper "A One-Dimensional Real Time Iterative Multiple r, " [1] Atrubin presented the design of a real time multiplier. His multiplier consists of a one -dimensional iterative bilateral array of cells (finite state machines) such that when the digits of two integers are presented to the cell at the extreme left end of the array a pair at a time, the same cell indicates the product digits at the rate of one per cycle. He had further shown that for the no-delay case the extreme left hand cell or the initial cell had to be different from the rest of the cells which were all identical finite state machines in terms of the memory space needed as well as the control. In this paper, we shall show that a no-delay real time multiplication can be achieved by an identical set of cells including the initial cell, without increasing the complexity of the individual cell. In order to facilitate the discussion, the structure of the multiplier is briefly reviewed in section II. A binary operator is defined in section III in order to express the algorithm in a concise and mathematical notation. To clearly bring out the difference in Atrubin 's algorithm and our algorithm, Atrubin' s algorithm is briefly expressed at first in terms of the new operator and is then followed by our algorithm in section IV. Section V gives an example illustrating the new algorithm and finally the appendix shows a proof that the algorithm works. II. STRUCTURE OF THE MULTIPLIER For the sake of simplicity, we shall use, wherever possible, the notation used by At rub in. Suppose the two integers to be multiplied are n A = Z a(i) 2 1 , a(i) € {1,0} 1=0 m Z b(i) 2 1 , b(i) e {1,0} 1=0 where m and n are arbitrary. Let the product be given by m+n P = Z p(i) 2 1 , p(i) 6 {1,0} i=0 Without loss of generality, we shall assume that m = n. The multiplier consists of a one -dimensional, iterative, bilateral array of cells as shown in Figure 1. Figure 2 shows the symbolic diagram of a cell. Each cell has five storage locations labelled as TSL, USL, LSL, PP and K as shown. The top three storage locations can be either in quiescent state Q, or in state g where the latter means that the location contains a pair g(i) = [b(i), a(i)] of one multiplicand and one multiplier bit. At any time t = I, the states of the storage locations TSL., USL. J J and LSL. of cell j are given as follows: J f gU-j+1) if I > 3j-3 TSL* (1) J ^ Q, otherwise 11 = 0, 1, ... J = ±f d } ... r g (2j-i) if i > 3j-i USLf = ( (2) L Q otherwise J J rg(2j-2) ifi>3j-2 I£L* (3) J l^ Q, otherwise An example is shown in Figure 3 which is borrowed from Atrubin's original paper. The two other storage locations PP and K respectively act as the partial product bit register and the carry store. Initially all the storage locations for the pair of multiplicand and multiplier bits are in quiescent state Q, and the partial product bit register PP and carry store K contain zero. UJ o UJ o ro UJ o 00 UJ o l-UJ 2^ en UJ _i O. b ID O o m or Q. w Pi CD o 1 The contents of the partial product register PP and carry store K of cell j (j > l) at time t are functions of the states of the storage locations TSL. and USL. and the carry store K. of cell j at time t-1 and 3 3 3 the states of TSL. , , LSL. , and the partial product register PP. , of J+l' 3+1 if if a J+1 cell j+1 at time t-1. In other words PP 1 : = F(TSL^\ USL t_1 , K:~\ TSL*"?", LSL*"?", PP^) (7) 3 3 3 3 3 +1 3 +1 3 +1 = F*. mod 2 . (8) 3 where TSL. = state of storage location TSL of cell j at time t-1, etc. J and F* = [TSL*" 1 © USL*" 1 + TSL*"^ © LSL t_ ^ + PP*"^ + K*" 1 ] (9) 3 L 3 3 D+l 3+ 1 J +1 ° The contents of carry store K. at time t is given by F* - PP* K t = _J 3_ 3 2 t>) Cell j, when j = 1 Since the cell 1 produces the final product digit, the calculation of the contents of product register PP and carry store K of cell 1 must take into account the states TSL and I£L, in addition to other parameters of the function F. In other words, PP^ = hCtsl^" 1 , usl*" 1 , k^" 1 , TSI^" 1 , I£I^ _1 , pp^ -1 , TSL^, LSL^) = H mod 2 where E ± = F^ + TSL^ © I£L^ (10) [TSL^' 1 ©USL^' 1 + TSL^" 1 © I^L^" 1 + PP^" 1 + K^" 1 + TSL* ® LSI,*] The contents of carry store K are given by K. 1 2 (11) (12) The final product bit p(i) is given by PP - the value of the partial product register of cell 1 at time t = i. It can be easily verified that relation (5) in the definition of the operator ©is equivalent in effect to Atrubin's method of representing state Q, as g(k) encircled, computing their contribution using relation (k) and then halving the contribution of the circled enteries before being summed. To verify the validity of expression (11), let us calculate the value of PP at t = i and compare it with the corresponding expression in Atrubin's paper. Using relations (l), (2) and (3) to calculate the values of the parameters of expression (ll) for i > 2., we have PP^" = H^" mod. 2 where H^ = [a(i-l) x b(l) + a(l) x b(i-l) + a(i-2) x b(2) + a(2) x b(i-2) + PP^" 1 + K^" 1 + a(i) x b(0) + a(0) x b(i)] 10 which agrees with the value of E plus the necessary correction in Atrubin's paper. The reason for the initial cell to be different from the rest of the cells of the iterative array is the choice of functional dependence as defined in equation (7). If we define a different functional dependence for the calculation of the contents of the partial product register and the carry store, the initial cell can be made identical to all the other cells of the array. B. Our Algorithm In our algorithm for the calculation of the contents of partial product register and carry store, we redefine the functional dependence such that all the cells including the initial one are identical. The state of the product digit register in any cell j for all j at time t is dependent on the states of storage locations TSL., USL. and LSL. J J J of cell ,i at time t, state of TSL. n of cell j+1 at time t, and the states u y j+1 u ' of partial product register PP. of cell (j+l) and carry store K. of cell j at time t-1. In other words, PP t = G(TSL*, LSL*, USL*, TSL* _, PP*"^, K*" 1 ) 3 y d' ■ 3 J+l 3+1 3 and where = G. mod 2 3 3 t t G. - PP. 3 3 2 (13) (1*0 G* = [TSL*© LSL* + USL* © TSL* + PP*^ + K*" 1 ] (15) 3 3 3 3 3 +J - J"^- 1 - 3 11 Now the product digit p(i) of the final product P is given by the value of PP , the contents of partial product register PP, of cell 1 at time t = i. In other words p(i) = PP^ = [TSL^@ I£L^ + USL^(x)TSI^ + PPg" 1 + K i _1 ] mod 2 ( l6 ) A proof that the expression (l6) correctly calculates the product digits p(i) is given in the appendix. However, we shall show below the calculation of the first few digits of the product. Using Figure 3 for the determination of the states of TSL, USL, LSL, we have p(0) = PP° = [g(0)@ Q + Q© Q + + 0] mod 2 = [a(0) x b(0) +0+0+0] mod 2 - [a(0) x b(0)] mod 2 a(0) x b(0) - PP° K l " 2 l - ° p(l) = PP^ = [g(l)@ g(0) + Q(x)Q + + 0] mod 2 - [a(l) x b(0) + a(0) x b(l)] mod 2 a(l) x b(0) + a(0) x b(l) - PP^ K l= 2 k 3 v (k) = PP 1 = [g(*0® g(0) + g(l)®g(3) + g(2)@Q + K^] mod 2 = [&(k) x b(0) + a(0) x b(U) + a(l) x b(3) + a(3) x b(l) + a(2) x b(2) + K^] mod 2 etc 12 V. EXAMPLE As an example, we present in Figure h the solution to the example given in Figure 6 of Atrubins's paper. The two integer operands to be multiplied are A = 000110100111011 B = 000000101111101 The corresponding product P is given by P = 00010011.1011000011001111 13 n Q Q 01 11 11 Q 00 10 10 00 11 Q Q Q Q 10 11 Q Q 10 11 n oo Q Q Q Q Q n 01 Q Q 11 01 11 01 Q Q l l 1 1 1 1 t=0 2 2 t=6 1 2 1 t=12 10 Q Q 00 01 11 Q 00 00 10 10 00 Q Q Q Q 10 11 Q Q 10 11 11 00 Q Q 11 Q Q 11 01 11 Q 11 01 11 01 11 Q l l 1 1 1 t=l l 2 1 t=7 2 1 1 t=13 1 01 Q Q n 00 01 Q 00 00 00 10 10 Q 10 Q Q 10 11 11 Q 10 11 11 00 00 Q 11 Q Q n 01 11 Q 11 01 11 01 11 Q 1 1 1 1 1 t=2 2 1 1 t=8 1 1 1 t=llf 11 01 Q 00 n oo 01 00 00 00 00 10 10 10 Q Q 10 li n Q 10 11 11 00 00 Q 11 Q Q 11 01 11 Q 11 01 n oi 11 Q 1 1 1 1 1 1 1 t=3 2 l l t=9 1 t=15 n n Q - 10 00 11 00 00 00 00 00 00 10 10 Q Q 10 n 11 Q 10 11 11 00 00 Q n 01 Q 11 oi n 01 n 01 11 01 11 10 1 Q i i 1 1 2 2 l l t=10 1 t=l6 n 11 Q 10 10 00 11 00 00 00 00 00 00 10 11 Q 10 n n 00 10 n 11 00 00 10 n 01 Q 11 01 11 01 11 01 11 01 11 10 l i 1 1 1 3 1 t=5 2 l i t=n t=17 00 00 00 00 00 00 00 Q 10 11 11 00 00 10 Q Q 11 01 11 01 11 10 Q Q 00100000 00000000 t=l8 00 00 00 00 00 00 00 Q, 10 11 11 00 00 10 Q Q 11 01 11 01 11 10 00 Q 01000000 00000000 t=l9 00 00 00 00 00 00 00 Q 10 11 11 00 00 10 00 Q 11 01 11 01 11 10 00 Q 10000000 00 000000 t=20 00 00 00 00 00 00 00 00 10 11 11 00 00 10 00 Q 11 01 11 01 11 10 00 Q 00000000 00000000 t=21 00 00 00 00 00 00 00 00 10 11 11 00 00 10 00 Q 11 01 11 01 11 10 00 00 00000000 00000000 t=22 00 00 00 00 00 00 00 00 10 11 11 00 00 10 00 00 n oi ii oi ii io oo oo 00000000 00000000 t=23 Fig. k. Example to illustrate new multiplication algorithm. Ik VI. CONCLUSION We have defined a new and different functional dependence of the contents of partial product register and carry store of any cell on the states of adjacent cell. Using this functional dependence, we have shown that the initial cell can be made identical to all the other cells in the array without increasing the complexity of the cell. In addition, we have defined a new binary operator to express the algorithm in a more concise and mathematical manner. Finally, a proof of the correctness of the algorithm is developed in the appendix. 15 REFERENCES [1] A. J. Atrubin, "A One -Dimensional Real-Time Iterative Multiplier," IEEE Trans., Elect. Comput. , Vol. EC-lU, pp. 39^-399, June 1965. 16 APPENDIX A proof that the expression (l6) in the main text of the paper correctly calculates the product digits is given below. Proof : PP^ = (TSL^Q I£L^ + USL^© TSI^ + PP^" 1 + K^' 1 ) mod 2 (Al) PPg' 1 = (TSI^ -1 © LSL^" 1 + USL2 _1 ©TSL^" 1 + PP^" 2 + K^~ 2 ) mod 2 (A2) ^i +2 = (TSL 1 "^ 2 © ISL 1 -^ 2 + USL^ +2 © ISL^^ 2 + PP 1 "^ 1 + K 1 "^ 1 " J-l 3-1 J-l 3-1 3 3 3-1 (A3) Substituting the values of PP p , ..., PP. 'i c ' from expressions (A2), A(3) in the expression A(l), we get PP^ = (TSI^©LSL^ + USL^©TSI^ + (TSI^ _1 © ISL^" 1 + USI^" 1 © TSL^" 1 + ( + (TSL 1 "^ 2 © LSL 1 -^ 2 + USL i i +2 ©TSL i "J +2 + PF^ +1 + K^f 1 ) mod 2 3-1 3-1 3-1 3 3 3-1 + ) mod 2 + K^" 2 ) mod 2 + K^" 1 ) mod 2 (kk) At time i, PP. makes no contribution to partial product register PP.. J if the state of TSL. at time i-j+1 is Q. In other words, J ppi-3+1 = q if TS L^ +1 = Q 3 3 From relation (l)*in the main text, we see that TSL^ +1 = Q if i-j+1 < 33-3 or J if i < kj-k (A5) 17 The two operands to be multiplied are n k A = Z a(k) 2 a (Ik) e {1,0) k=0 n k B = z b(k) 2 a(k) e {1,0) k=0 The ith product digit p(i) is given by p(i) = ( Z a(k) x b(i-k) + K 1 ) mod 2 (A6) k=0 ( E a(k) x b(i-k) + K 1 ) - p(i R i + 1 _ J^ _ {A7) where K is the carry digit into the ith position. The expressions (A6) and (A7) can be expressed in terms of the state g and binary operator^ as follows. [i/2j ± p(i) = ( Z g(i)® g(i-i) + K 1 ) mod 2 (A8) i=0 Li/2 J ( 2 gU)® g(i-i) + K 1 ) - p(i) K 1+1 - -^ 5 (A 9 ) To prove the correctness of our algorithm, we must show that expression (kh) is equivalent to expression (A8). For i < kj-k, the storage locations TSL, USL and LSL of cells 1, 2, ... j-2 are in state g as can be easily seen by reference to relations (l), (2) and (3) of the main text. Therefore, expression (aU) can be rewritten as 18 PPl = (g(i)®g(0) + g(i-l)®g(l) + (g(i-2)©g(2) + g(i-3)®g(3) + (.... + (TSLii +2 ® LSL^ +2 + USlH^®TSlH +2 + K 1 "^ 1 ) mod 2 J-l 0-1 J" 1 J J-l + ) mod 2 + K^' 2 ) mod 2 + K^" 1 ) mod 2 (AlO) Now from relations (l), (2) and (3) in the main text, we find that TSL^ +2 = g(i-2j+i+) if i > Uj-8 = Q if i < Uj-8 IBL" '•if 2 = g( 2 M) if i > ^-7 = Q if i < kj-7 USL" = Q if i < Uj-6 TSL^"^ 2 - g(i-2j+3) if i > ltf-5 = Q i < ^j-5 (All) (A12) (A13) (A1*0 From expressions (All), (A12 ), (A13) and (Al^), it is clear that the subexpression in the innermost parenthesis in the expression (AlO) contributes only to p(i) because the sum of the indices of g's is equal to i. Further, the indices of g's are such that they are equivalent to £ < [i/2j which means that PP has all the terms which can contribute to p(i). Also since the value of K in the expressions (A^-) and (A6) are calculated by equivalent relations, the contribution of lumped K in the expression (A6) is identical to that of distributed K's, namely K, , K^ , ... K. . Thus we can say that expressions (A^) and (A8) and hence A(k) and (A6) are identical. This completes our proof. IBLIOGRAPHIC DATA «ET 1. Report No. UIUCDCS-R-7 1 +-6UO 3. Recipient's Accession No. 5- Report Date July I97I+ itle and Subtitle A Note on Atrubin's Real-Time Iterative Multiplier Author(s) Lakshmi N. Goyal 8- Performing Organization Rept. No. Performing Organization Name and Address 10. Project/Task/Work Unit No. Department of Computer Science University of Illinois Urbana, Illinois 6l801 1 1. Contract /Grant No. GJ 3820^ !. Sponsoring Organization Name and Address National Science Foundation Washington, D.C. 13. Type of Report & Period Covered 14. I Supplementary Notes Abstracts This correspondence presents a new multiplication algorithm for Atrubin's One -dimensional Real Time Iterative Multiplier such that all the cells, including the first cell in the array are identical as regards memory and control, for the no-delay case. Key Words and Document Analysis. 17a. Descriptors Arithmetic, Iterative Array, Multiplication, On-line multiplier, Real time multiplier 1). Identifiers /Open-Ended Terms I. COSATI Field/Group 1 Availability Statement 19. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pages 22. Price F »M NTIS-35 (10-70) USCOMM-DC 40329-P7 1 AUG28l9>4 27 37§ ■ m mm PM ?2SKa""-» ■ •**1 H Hfl *A ■»«■« ,. r H ••., ■ ■ Mi H i i < i I ■ B ■■ HH mWM BBi mm H ■-H>t , U.N