DIGIT-SERIAL ARITHMETIC

Size: px
Start display at page:

Download "DIGIT-SERIAL ARITHMETIC"

Transcription

1 DIGIT-SERIAL ARITHMETIC 1 Modes of operation:lsdf and MSDF Algorithm and implementation models LSDF arithmetic MSDF: Online arithmetic

2 TIMING PARAMETERS 2 radix-r number system: conventional and redundant Serial signal: a numerical input or output with one digit per clock cycle For an n digit signal, the clock cycles are numbered from 1 to n Timing characteristics of a serial operation determined by two parameters: initial delay δ: additional number of operand digits required to determine the first result digit execution time T n ; the time between the first digit of the operand and the last digit of the result T n = δ + n + 1

3 3 cycle: input compute output δ = 0 T 12 = (a) cycle: input compute output δ =3 T 12 = (b) Figure 9.1: Timing characteristics of serial operation with n = 12. (a) With δ = 0. (b) With δ = 3.

4 LSDF AND MSDF 4 1. Least-significant digit first (LSDF) mode (right-to-left mode) x = n 1 x ir i i=0 2. Most-significant digit first (MSDF) mode (left-to-right mode) also known as online arithmetic initial delay called online delay x = n i=1 x ir i

5 ALGORITHM MODEL 5 Operands x and y, result z: n radix-r digits In cycle j the result digit z j+1 is computed Cycles labeled δ,..., 0, 1,..., n In cycle j receive the operand digits x j+1+δ and y j+1+δ, and output z j x[j], y[j] and z[j] are the numerical values of the corresponding signals when their representation consists of the first j + δ digits for the operands, and j digits for the result. In iteration j x[j + 1] = (x[j], x j+1+δ ) y[j + 1] = (y[j], y j+1+δ ) z j+1 = F(w[j], x[j], x j+1+δ, y[j], y j+1+δ, z[j]) z[j + 1] = (z[j, ], z j+1 ) w[j + 1] = G(w[j], x[j], x j+1+δ, y[j], y j+1+δ, z[j], z j+1 )

6 Cycle j j+1 6 Input x j+1+δ y j+1+δ x[j+1] x j+2+δ y j+2+δ x[j+2] Compute z j+1 z j+2 Output z j z j+1 (a) x j+1+δ y j+1+δ X; Y x[j] y[j] z j+1 F; G z z j j+1 Z z[j] w[j+1] W w[j] (residual) z j (b) digit-serial digit-parallel

7 7 Table 9.1: Initial delay (δ) Operation LSDF MSDF Addition 0 2 (r = 2) 1 (r 4) Multiplication 0 3 (r = 2) 2 (r = 4) (only MS half) n Division 2n 4 Square root 2n 4 Max/min n 0

8 8 a) LSDF mode n-digit addition: Cycle: LSD MSD Inputs: x x x x x x x x x Output: x x x x x x x x x n by n --> 2n multiplication: Inputs: Output: LSD MSD x x x x x x x x x x x x x x x x x x x x x x x x x x x MS half b) MSDF mode Cycle: n-digit operation: MSD LSD Inputs: x x x x x x x x x Output: --- online delay = 2 x x x x x x x x x Figure 9.3: LSDF and MSDF modes.

9 COMPOSITE ALGORITHM: EXAMPLE 9 Givens method for matrix triangularization Rotation factors: c = The online delay of the network x x2 + y 2 s = y x2 + y 2 rot = δ1 + δ2 + δ3 + δ4 = 13 Execution time (latency): D rot = rot + n + 4

10 10 x h y h Operation: δ1 (on-line delay) OLSQ a i i = h-δ1 1 OLSQ b i δ1 Squaring δ2 OLADD Addition (p-bit shift register) f k k=i δ2 1 =p =p δ3 OLSQRT Square root δ4 OLDIV g p p=k δ3 1 OLDIV δ4 Division c q q=p δ4 1 s q (a) x,y a,b f g c, s δ1 δ2 δ3 δ4 (b) Figure 9.4: Online computation of rotation factors: (a) Network. (b) Timing diagram.

11 LSDF ARITHMETIC: ADDITION/SUBTRACTION 11 The cycle delay t LSDFadd k = t CPA(k) + t FF The total time for n-bit addition T LSDFadd n = ( n k + 1)t LSDFadd k The cost: one k-bit CPA, one flip-flop, and one k-bit output register

12 Operand X: Operand Y: x z i Result Z: i y k z i z k k-bit k k i-1 k CPA result digit register SUB 12 (a) c carry/borrow FF (initialize to 0 if ADD 1 if SUB) Operand Y: Operand X: Result Z: y i.0 x i,0 z i,0 z z i-1,0 y i,1 x i,1 y i,2 x i,2 4-bit ADDER z i,1 z i,2 z z z i-1,1 z i-1,2 y i,3 x i,3 z i,3 z z i-1,3 SUB carry/borrow FF (initialize to 0 if ADD 1 if SUB) c

13 LSDF MULTIPLICATION 13 For radix-2 and 2 s complement representation: 1. Serial-serial (LSDF-SS) multiplier, both operands used in digit-serial form. 2. Serial-parallel ( LSDF-SP) multiplier, one operand first converted to parallel form Operation cannot be completed during the input of operands

14 SERIAL-SERIAL MULTIPLIER 14 Define internal state (residual) w[j] = 2 (j+1) (x[j] y[j] p[j]) where x[j] = j i=0 x i 2 i and similarly for y[j] and p[j]. Both operands used in serial form; the recurrence is w[j + 1] = 2 (j+2) (x[j + 1] y[j + 1] p[j + 1]) = 2 (j+2) ((x[j] + x j+1 2 j+1 )(y[j] + y j+1 2 j+1 ) (p[j] + p j+1 2 j+1 )) = 2 1 (w[j] + y[j + 1]x j+1 + x[j]y j+1 p j+1 ) This can be expressed as v[j] = w[j] + y[j + 1]x j+1 + x[j]y j+1 and w[j + 1] = 2 1 v[j] p j+1 = v[j]mod 2

15 Position Cycle y 0 x 0 1 x 0 y 1 y 1 x 1 y 0 x 1 2 x 1 y 2 x 0 y 2 y 2 x 2 y 1 x 2 y 0 x 2 3 x 2 y 3 x 1 y 3 x 0 y 3 y 3 x 3 y 2 x 3 y 1 x 3 y 0 x 3 4 x 3 y 4 x 2 y 4 x 1 y 4 x 0 y 4 y 4 x 4 y 3 x 4 y 2 x 4 y 1 x 4 y 0 x 4 15

16 16 (shift-register for load control in left-append registers not shown) x j+2 x j+1 LA-Reg X y j+2 LA-Reg Y y j+1 x j+1 n w[j+1]: x[j] n SELECTOR n x[j] n shifted WC Reg WC [4:2] ADDER n x j+1 n+1 y j+1 n shifted WS Reg WS y[j+1] n SELECTOR n sign(x) sign(y) FA y[j+1] cycle n LS bits p j+1 carry-out w[j]: n n SA MS bits (register control signals not shown) SA - Serial adder Figure 9.6: Serial-serial 2 s complement radix-2 multiplier.

17 cont. 17 The total execution time T SSMULT = 2nt cyc The delay of the critical path in a cycle t cyc = t SEL + t 4 2CSA + t FF Cost: one n-bit [4:2] adder, 5 n-bit registers, and gates to form multiples

18 SERIAL-PARALLEL MULTIPLIER 18 One of the operands is a constant, One possibility: perform operation in 3n cycles Phase 1: Serial input and conversion of one operand to parallel form; Phase 2: Serial-parallel processing and output of the LS half of the product. Phase 3: Serial output of the MS half of the product. The critical path in a cycle t cyc = t SEL + t CSA + t FF The delay of the LSDF-SP multiplier T SPrnd = 3n t cyc

19 (shifted -in in Phase 1 or constant) x j (used serially in Phase 2) y j n n shifted WC Reg WC Shift-Reg X x SELECTOR n n [3:2] ADDER n+1 w[j+1] n x { 0, x, x } shifted WS Reg WS sign(y) HA cycle n in Phase 2 (shifted -out in Phase 2) LS bits carry-out 19 n w[j] n SA (shifted -out in Phase 3) MS bits (register control signals not shown) SA - Serial adder Phase 1: shift-in operand X (n cycles) Phase 2: serial-parallel carry-save multiplication (n cycles) shifted sum and carry bit-vectors loaded bit-parallel Phase 3: MS bits obtained using bit-serial adder SA operating on bits shifted out of WC and WS shift-registers (n cycles) Figure 9.7: 3-phase serial multiplier.

20 MSDF: ONLINE ARITHMETIC 20 Online arithmetic algorithms operate in a digit-serial MSDF mode To compute the first digit of the result, δ + 1 digits of the input operands needed Thereafter, for each new digit of the operands, an extra digit of the result obtained The online delay δ typically a small integer, e.g., 1 to 4. Cycle Input x 1 x 2 x 3 x 4 x 5 Compute z 1 z 2 z 3 Output z 1 z 2 δ = 2 Figure 9.8: Timing in online arithmetic.

21 REDUNDANT REPRESENTATION 21 The left-to-right mode of computation requires redundancy Both symmetric { a,..., a} and asymmetric {b,..., c}) digit-sets used in online arithmetic Over-redundant digit-sets also useful Examples of radix-4 redundant digit sets: {-1,0,1,2,3} (asymmetric, minimally-redundant), {-2,-1,0,1,2} (symmetric, minimally-redundant), and {-5,-4,-3,-2,-1,0,1,2,3,4,5} (symmetric, over-redundant) Heterogeneous representations to optimize the implementation Conversion to conventional representation: use on-the-fly conversion

22 ADDITION/SUBTRACTION 22 The online addition/subtraction algorithm: the serialization of a redundant addition (carry-save or signed-digit) Radix r > 2 and (t j+1, w j+2 ) = where x j, y j, z j { a,..., a}. (0, x j+2 + y j+2 ) if x j+2 + y j+2 a 1 (1, x j+2 + y j+2 r) if x j+2 + y j+2 a ( 1, x j+2 + y j+2 + r) if x j+2 + y j+2 a z j+1 = w j+1 + t j+1

23 EXAMPLE OF ONLINE ADDITION (r = 4, a = 3) 23 Operands x = ( ) The result z = ( ). y = ( ) j x j+2 y j+2 t j+1 w j+2 w j+1 z j+1 z j * 1 0* * latches initialized to 0.

24 RADIX r > 2 ONLINE ADDER 24 x j y j x j+1 y j+1 x j+2 y j+2 x j+2 y j+2 TW TW TW TW t j-1 w j t j w j+1 t j+1 w j+2 t j+2 t j+1 w j+2 latch w j+1 SUM SUM SUM SUM z j+1 z j z j+1 z j+2 z j (a) (b) Figure 9.9: (a) A segment of radix-r > 2 signed-digit parallel adder. (b) Radix-r > 2 online adder. All latches cleared at start.

25 RADIX-2 ONLINE ADDER 25 Digit-parallel radix-2 signed-digit adder converted into a radix-2 online adder with online delay δ = 2 x + x - y + y - j+1 j+1 j+1 j+1 x + x - j+2 j+2 y + y - j+2 j+2 x + y + y - j+3 x- j+3 j+3 j+3 x + j+3 x- j+3 y + y - j+3 j+3 FA FA FA FA h j g j+1 h j+1 g j+2 h j+2 g j+3 hj+3 h j+2 g j+3 g j+2 FA FA FA FA t j w j+1 t j+1 w j+2 t j+2 w j+3 t j+3 w j+2 latch z + z + z - z + z - j+1 z - j+1 j+2 j+2 j+3 j+3 z - j+1 = t j+1 z + = w j+1 j+1 (output latches) (a) (b) z - j z + j Figure 9.10: (a) A segment of radix-2 signed-digit parallel adder. (b) Online adder.

26 cont. 26 The cycle time is t cyc = 2t FA + t FF The operation time T OLADD 2 = (2 + n + 1)t cyc The cost 2 FAs and 5 FFs. To reduce the cycle time, pipeline the two stages: reduces the cycle time by one t FA ; increases online delay to δ = 3

27 EXAMPLE OF RADIX-2 ONLINE ADDITION 27 x = ( ) y = ( ) z = ( ) j x j+3 y j+3 x + j+3x j+3 y j+3y + j+3 h j+2 g j+3 g j+2 t j+1 w j+2 z j+1z + j+1 z j * * g latches initialized to 00.

28 METHOD FOR DEVELOPING ONLINE ALGORITHMS 28 Part 1: development of the residual recurrence w[j + 1] = G(w[j], x[j], x j+1+δ, y[j], y j+1+δ, z[j], z j+1 ) for δ j n 1 where x[j] = j+δ x ir i, y[j] = j+δ i=1 y ir i, z[j] = j z ir i i=1 i=1 are the online forms of the operands and the result Part 2: the result digit selection z j+1 = F(w[j], x[j], x j+1+δ, y[j], y j+1+δ, z[j])

29 Part 1: RESIDUAL AND ITS RECURRENCE 29 Step 1. Describe the online operation by the error bound after j digits Step 2 Transform expression to use only multiplication by r (shift), addition/subtraction, multiplication by a single digit f(x[j], y[j]) z[j] < r j B < G(f(x[j], y[j]) z[j]) < B where G is the required transformation and B and B are the transformed bounds Example: division error expression x[j]/y[j] z[j] < r j transformed into x[j] z[j] y[j] < r j y[j]

30 cont. 30 Step 3 Define a scaled residual with the bound w[j] = r j (G(f(x[j], y[j]) z[j])) ω = r j B < w[j] < r j B = ω and initial condition w[ δ] = 0. ω and ω are the actual bounds determined in Step 6 Step 4 Determine a recurrence on w[j] w[j+1] = rw[j]+r j+1 (G(f(x[j+1], y[j+1]) z[j+1]) G(f(x[j], y[j]) z[j])) Step 5 Decompose recurrence so that H 1 is independent of z j+1 w[j + 1] = rw[j] + H 1 + H 2 (z j+1 ) = v[j] + H 2 (z j+1 )

31 cont. 31 Step 6 Determine the bounds of w[j + 1] in terms of H 1 and H 2 ω = rω + max(h1) + H2(a) resulting in Similarly, ω = max(h 1) + H 2 (a) r 1 ω = min(h 1) + H 2 ( a) r 1

32 Part 2a: SELECTION FUNCTION WITH SELECTION CONSTANTS 32 z j+1 = k if m k v[j] < m k+1 where v[j] is an estimate of v[j] obtained by truncating the redundant representation of v[j] to t fractional bits. Selection constants need to satisfy max( L k ) m k min(ûk 1) where [ L k, Ûk] is the selection interval of the estimate v[j] Step 7 Determine [ L k, Ûk] First, determine [L k, U k ] for v[j] ω = U k + H 2 (k) ω = L k + H 2 (k) Substituting ω and ω the selection intervals for v[j] is, U k = max(h 1)+H 2 (a) r 1 H 2 (k) L k = min(h 1)+H 2 ( a) r 1 H 2 (k)

33 cont. 33 Now restrict the intervals because of the use of the estimate v[j] e min v[j] v[j] e max producing the error-restricted selection interval [L k, Uk] with Uk = U k e max L k = L k + e min The errors are For carry-save representation e max = 2 t+1 ulp and e min = 0. For signed-digit representation e max = 2 t ulp and e min = (2 t ulp). U k 1 = Uk t t = L k t L k where x t and x t indicate x values truncated to t fractional bits.

34 34 L k U k-1 2 -t - possible choices for m k 2 -t+1 v[j] L k U * k-1 U k-1 L * k (the ticks on the v[j] line represent the estimate v[j]) Figure 9.11: The choices of selection constant m k.

35 cont. 35 Step 8 Determine t and δ. To determine m k, we need min(ûk 1) max( L k ) 0 This relation between t and δ is used to choose suitable values. Step 9 Determine the selection constants m k and the range of v[j] as rω + min(h 1 ) e max t v[j] rω + max(h 1 ) + e min t

36 Part 2b: SELECTION BY ROUNDING 36 In algorithms using a higher radix (r > 4) w[j + 1] = rw[j] + H 1 + H 2 (z j+1 ) = v[j] + H 2 (z j+1 ) In the rounding method, the result digit is obtained as z j+1 = v[j] with v[j] < r 1 2 to avoid over-redundant output digit. w[j + 1] = v[j] + H 2 ( v[j] ) For CS form of t fractional bits, the estimate error e max = 2 t+1 ulp When ˆv[j] = m k 2 t it must be possible to choose z j+1 = k 1 m k 2 t + e max = 2k t Ûk 1

37 GENERIC FORM OF EXECUTION AND IMPLEMENTATION. 37 Execution: n + δ iterations of the recurrence, each one clock cycle Iterations (cycles) labeled from δ to n 1 One digit of each input introduced during cycles δ to n 1 δ and digits value 0 thereafter Result digits 0 for cycles δ to 1 and z 1 is produced in cycle 0 Result digit z j is output in cycle j (one extra cycle to output z n )

38 cont. 38 The actions in cycle j: Input x j+1+δ and y j+1+δ. Update x[j+1] = (x[j], x j+1+δ ) and y[j+1] = (y[j], y j+1+δ ) by appending the input digits. Compute v[j] = rw[j] + H 1 Determine z j+1 using the selection function. Update z[j + 1] = (z[j], z j+1+δ ) by appending the result digits. Compute the next residual w[j + 1] = v[j] + H 2 (z j+1 ) Output result digit z j

39 IMPLEMENTATION 39 Similar structure of algorithms all implemented with same basic components, such as (i) registers to store operands, results, and residual vectors; (ii) multiplication of vector by digit; (iii) append units to append a new digit to a vector; (iv) Two-operand and multioperand redundant adders, such as signed digit adders, [3:2] carry-save adders and their generalization to [4:2] and [5:2] adders; (v) converters from redundant representations (i.e., signed digit and carry save) to conventional representations; (vi) carry-propagate adders of limited precision (3 to 6 bits) to produce estimates of the residual functions; and (vii) digit-selection schemes to obtain output digits.

40 cont. 40 Online algorithm implementation similar to implementation of digit-recurrence algorithms Algorithms and implementations developed for most of basic arithmetic operations and for certain composite operations Larger set of operations possible than with LSDF approach

41 DIGIT-SLICE ORGANIZATION 41 x j+1+δ y j+1+δ * 1*** 2 m z j+1 z j digit slice ** * paths for appending input digits ** left-shifted bits of the residual *** the width of the MS slice depends on the selection function Figure 9.12: A typical digit-slice organization of online arithmetic unit

42 ONLINE MULTIPLICATION 42 Online forms The error bound at cycle j The residual x[j] = j+δ x ir i, y[j] = j+δ i=1 with the bound w[j] < ω The residual recurrence y ir i, p[j] = j p ir i i=1 i=1 x[j] y[j] p[j] < r j w[j] = r j (x[j] y[j] p[j]) w[j + 1] = rw[j] + (x[j]y j+1+δ + y[j + 1]x j+1+δ )r δ p j+1 = v[j] p j+1

43 SELECTION FUNCTION 43 Decomposition Bound Selection intervals H 1 = (x[j]y j+1+δ + y[j + 1]x j+1+δ )r δ H 2 = p j+1 ω = ω = ω = ρ(1 2r δ ) U k = ρ(1 2r δ ) + k L k = ρ(1 2r δ ) + k With carry-save representation for w[j] and v[j], the grid-restricted intervals are U k = ρ(1 2r δ ) + k 2 t t L k = ρ(1 2r δ ) + k t The expression to determine t and δ: resulting in ρ(1 2r δ ) + k 1 2 t t ρ(1 2r δ ) + k t 0 ρ(1 2r δ ) t 2 1 (1 + 2 t )

44 cont. 44 Several examples of relations between r, ρ, t, and δ Radix ρ t δ / /3 2 3

45 RADIX-2 ONLINE MULTIPLICATION 45 δ = 3 and t = 2 Selection constants m k s obtained from where L k m k Ûk 1 U k = k = k L k = k 2 = k Since Ûk 1 = k 2 1 and L k = k 3 2 2, m k = k 2 1 is acceptable. The selection constants are Range of v[j] is m 0 = 2 1, m 1 = v[j] 7/4 The selection function SELM( v[j]) is p j+1 = SELM( v[j]) = 1 if 1/2 v[j] 7/4 0 if 1/2 v[j] 1/4 1 if 2 v[j] 3/4

46 IMPLEMENTATION OF SELECTION FUNCTION 46 Estimate ˆv represented by (v 1, v 0, v 1, v 2 ) Product digit p j+1 = (pp, pn) with the code p j+1 pp pn Switching expressions: pp = v 1(v 0 v 1 ) pn = v 1 (v 0 v 1)

47 ˆv v 1 v 0 v 1 v 2 p j+1 7/ / / / / / / / / / / /

48 48 1. [Initialize] x[ 3] = y[ 3] = w[ 3] = 0 for j = 3, 2, 1 x[j + 1] CA(x[j], x j+4 ); y[j + 1] CA(y[j], y j+4 ) v[j] = 2w[j] + (x[j]y j+4 + y[j + 1]x j+4 )2 3 w[j + 1] v[j] end for 2. [Recurrence] for j = 0...n 1 x[j + 1] CA(x[j], x j+4 ); y[j + 1] CA(y[j], y j+4 ) v[j] = 2w[j] + (x[j]y j+4 + y[j + 1]x j+4 )2 3 p j+1 = SELM( v[j]); w[j + 1] v[j] p j+1 P out p j+1 end for Figure 9.13: Radix-2 online multiplication algorithm.

49 predecessor on-line unit (shift-register for load control in right-append registers not shown) predecessor on-line unit 49 x j+5 LX CA-Reg X y j+5 LY CA-Reg Y n x[j] n x[j] x j+4 y j+4 n y[j+1] n y[j+1] y j+4 SELECTOR x j+4 SELECTOR n n n+2 [4:2] ADDER v[j1] n+2 c x =1 if x j+4 < 0 c y =1 if y j+4 < 0 V 4 4 SELM 3 4 v n-2 n-2 p j+1 M wired shift left Pout 3 2w[j+1] p j Reg WS Reg WC v[j] vs -1 vs 0. vs 1 vs 2 vs 3 vs vc -1 vc 0. vc 1 vc 2 vc 3 vc n+2 n+2 2w[j] V block produces estimate of v M block performs subtraction of p j+1 (register control signals not shown) (a) v -1 v 0. v 1 v estimate of v[j] 2 v * o v 1. v 2 vs vs w[j+1] vc 3 vc 4... v * o = v 0 XOR p j+1 (b) Figure 9.14: (a) Implementation of radix-2 online multiplier. (b) Calculation of 2w[j + 1].

50 EXAMPLE OF RADIX-2 ONLINE MULTIPLICATION 50 Operands: x = ( ) y = ( ) j x j+4 y j+4 x[j + 1] y[j + 1] v[j] p j+1 w[j + 1]

51 cont. 51 Computed product: p = ( ) The exact double precision product p = ( ) The absolute error wrt to the exact product truncated to 8 bits: p p tr = 2 8 Note: p[8] + w[8]2 8 = p

52 ONLINE DIVISION 52 Online forms x[j] = j+δ x ir i, y[j] = j+δ i=1 y ir i, q[j] = j q ir i i=1 i=1 Error bound at cycle j x[j] q[j]d[j] < d[j]r j Residual w[j] = r j (x[j] q[j]d[j]) w[j] < ω d[j] Residual recurrence w[j + 1] = rw[j] + x j+1+δ r δ q[j]d j+1+δ r δ d[j + 1]q j+1 = v[j] d[j + 1]q j+1

53 RADIX-2 ONLINE DIVISION 53 δ = 4 and t = 3 Selection intervals and selection constants minû0 = Û0[d[j + 1] = 1/2] = = 2 2 max L 1 = L 1 [d[j + 1] = 1] = = 2 3 resulting in m 1 = 2 2 minû 1 = Û 1[d[j + 1] = 1] = = 2 2 max L 0 = L 0 [d[j + 1] = 1/2] = = so that m 0 = 2 2. q j+1 = SELD( v[j]) = 1 if 1/4 v[j] 15/8 0 if 1/4 v[j] 1/8 1 if 2 v[j] 1/2

54 RADIX-2 ONLINE DIVISION: ALGORITHM [Initialize] x[ 4] = d[ 4] = w[ 4] = q[0] = 0 for j = 4,..., 1 d[j + 1] CA(d[j], d j+5 ) v[j] = 2w[j] + x j w[j + 1] v[j] end for 2. [Recurrence] for j = 0...n 1 d[j + 1] CA(d[j], d j+5 ) v[j] = 2w[j] + x j q[j]d j q j+1 = SELD( v[j]); w[j + 1] v[j] q j+1 d[j + 1] q[j + 1] CA(q[j], q j+1 ) Q out q j+1 end for

55 (shift-register for load control in right-append registers not shown) predecessor on-line unit 55 q j+1 CA-Reg Q d j+6 LD CA-Reg D x j+6 q s x j+5 LX (single digit) predecessor on-line unit n q[j] n d j+5 d j+5 SELECTOR U u all 6 bits wide n 5 q[j] v[j] [3:2] ADDER ws q j+1 wc n d[j+1] n d[j+1] SELECTOR n c d = 1 if (d j+5 > 0 and q>0) or (d j+5 < 0 and q<0) 5 SELD 4 V v [3:2] ADDER c q = 1 if (q j+1 > 0 and d>0) or (q j+1 < 0 and d<0) q j+1 wired left shift Qout 2w[j+1] q j (register control signals not shown) Reg WS Reg WC n+2 n+2 2w[j] ws wc Figure 9.16: Block diagram of radix-2 online divider.

56 REDUCTION OF DIGIT-SLICES 56 Selection valid if (t fractional bits) p + h = n + δ p 2h + δ t p = 2n + δ + t 3 Total number of bit-slices: ib + p, ib - no. integer bits For example, the number of bit-slices for 32-bit radix-2 online multiplication is = = 25 3 compared to 34 in implementation without slice reduction.

57 57 δ not implemented ib t n p (a) after left shift: p x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x e x x x x x e e x x x x x e e x x x x e e e (b) Figure 9.17: Reduction of bit-slices in implementation.

58 MULTI-OPERATION AND COMPOSITE ONLINE ALGORITHMS 58 To reduce the overall online delay of a group of operations - combine several operations into a single multi-operation online algorithm Example: x 2 + y 2 + z 2 Inputs in [1/2,1), output in [1/4, 3) Online delay δ ss = 0 when the output digit is over-redundant. Online delay (3+2+2=7) of the corresponding network

59 ALGORITHM FOR SUM OF SQUARES [Initialize] w[0] = x[0] = y[0] = z[0] = 0 2. [Recurrence] for j = 0...n 1 v[j] = 2w[j] + (2x[j] + x j 2 j )x j + (2y[j] + y j 2 j )y j + (2z[j] + z j 2 j )z j w[j + 1] csfract(v[j]) s j+1 csint(v[j]) x[j + 1] (x[j], x j+1 ); y[j + 1] (y[j], y j+1 ); z[j + 1] (z[j], z j+1 ) S out s j+1 end for Figure 9.18: Radix-2 online sum of squares algorithm.

60 serial parallel x j+1 APPEND y j+1 APPEND z j+1 APPEND x[j+1] w[j+1] x[j] y[j] z[j] 60 2w[j] WS WC MUL/ APPEND MUL/ APPEND MUL/ APPEND [5:2] ADDER s j+1 CPA Sout s j in {0,...,8} w[j+1] APPEND implements x[j+1]=x[j]+x j+1 2 -j-1 δ ss = 0 x. x x x x x x x x x x. x x x x x x x x x x. x x x x x x x x x x. x x x x x x x x x x. x x x x x x x x x csint csfrac max(csint) = 8 (a) 2w[j] MUL/APPEND implements 2x[j]x j+1 +x 2 j+1 2-j-1 (2x[j]x j+1 +x 2 j+1 2-j-1 ) (2y[j]y j+1 +y 2 j+1 2-j-1 ) (2z[j]z j+1 +z 2 j+1 2-j-1 ) Note: the fractional portion of the 5-2 CSA produces at most three carries

61 COMPOSITE ALGORITHM 61 d = (x 2 + y 2 + z 2 ) Overall online delay of 5 A network of standard online modules: online delay of 11

62 62 y j+5 x serial j+5 z j+5 parallel APPEND APPEND APPEND x[j+1] w[j+1] x[j] y[j] z[j] Operation: WS WC MUL/ APPEND MUL/ APPEND MUL/ APPEND Sum of squares 2w[j] [5:2] ADDER CPA s j+6 w[j+1] Sout s j+5 {0,...8} R[j+1] On-the-Fly converter CONVERT d j+1 RS RC R[j] d d APPEND u=-(2 d[j]d j+1 +d 2 j+1 2-j-1 ) Square root dsel [3:2] ADDER d j+1 {-1,0,1} Dout R[j+1] d j Figure 9.20: Composite scheme for computing d = (x 2 + y 2 + z 2 ).

63 ONLINE IMPLEMENTATION OF RECURSIVE FILTER 63 IIR filter y(k) = a 1 y(k 1) + a 2 y(k 2) + bx(k) Conventional parallel arithmetic time to obtain y[k]: T CONV = 6t module. t module 6t FA rate of filter computation: R CONV 1/(4 6t FA ) LSDF serial arithmetic time to obtain y[k]: T LSDF = nt FA. rate of filter computation: R LSDF 1/(n t FA ) Online arithmetic Multioperation modules of type vu + w, online delay of 4 cycle time t M 3t FA Throughput independent of working precision but not the number of online units Rate: R OL = 1/( iter t M ) 1/(12t FA )

64 64 x[k] MUL ADD y[k] a 1 b y[k-1] ADD MUL (a) MUL a 2 y[k-2] coefficients x or y M1 M2 M3 M4 M5 y (Multiply) (Multiply-add) ([4:2] adder) ([4:2] adder) (CPA) CS form (b) CYCLE: k k+1 k+2 k+3 k+4 k+5 Module: M1 bx[k] R a 2 y[k-2] R a 1 y[k-1] R bx[k+1] R M2 M3 (bx[k] R ) +bx[k] L (a 2 y[k-2] R )+ a 2 y[k-2] L (a 1 y[k-1] R )+ a 1 y[k-1] L (bx[k]) + (a 2 y[k-2]) M4 (bx[k] + a 2 y[k-2])+ (a 1 y[k-1]) M5 y[k] (c) Figure 9.21: Conventional implementation of second-order IIR filter: (a) Filter. (b) 5-stage pipeline. (c) Timing diagram.

65 y[k-2] y[k-1] 65 MODULE M δ=2 δ=3 δ=3 x[k] b vu vu+w a 2 a 1 c d vu+w y[k] (a) x[k-2] M y[k-2] x[i] PARALLEL/SERIAL CONVERTER + DEMUX x[k-1] x[k] x[k+1] M M M y[k-1] y[k] y[k+1] SERIAL/PARALLEL CONVERTER + MUX y[j] Array for n=16 and iter =4 (b) y[k-2] y[k-1] from other modules x[k] c d y[k] (c) Figure 9.22: Online implementation of second-order IIR filter.

DIVISION BY DIGIT RECURRENCE

DIVISION BY DIGIT RECURRENCE DIVISION BY DIGIT RECURRENCE 1 SEVERAL DIVISION METHODS: DIGIT-RECURRENCE METHOD studied in this chapter MULTIPLICATIVE METHOD (Chapter 7) VARIOUS APPROXIMATION METHODS (power series expansion), SPECIAL

More information

Chapter 5: Solutions to Exercises

Chapter 5: Solutions to Exercises 1 DIGITAL ARITHMETIC Miloš D. Ercegovac and Tomás Lang Morgan Kaufmann Publishers, an imprint of Elsevier Science, c 2004 Updated: September 9, 2003 Chapter 5: Solutions to Selected Exercises With contributions

More information

Chapter 6: Solutions to Exercises

Chapter 6: Solutions to Exercises 1 DIGITAL ARITHMETIC Miloš D. Ercegovac and Tomás Lang Morgan Kaufmann Publishers, an imprint of Elsevier Science, c 00 Updated: September 3, 003 With contributions by Elisardo Antelo and Fabrizio Lamberti

More information

VLSI Arithmetic. Lecture 9: Carry-Save and Multi-Operand Addition. Prof. Vojin G. Oklobdzija University of California

VLSI Arithmetic. Lecture 9: Carry-Save and Multi-Operand Addition. Prof. Vojin G. Oklobdzija University of California VLSI Arithmetic Lecture 9: Carry-Save and Multi-Operand Addition Prof. Vojin G. Oklobdzija University of California http://www.ece.ucdavis.edu/acsel Carry-Save Addition* *from Parhami 2 June 18, 2003 Carry-Save

More information

Chapter 1: Solutions to Exercises

Chapter 1: Solutions to Exercises 1 DIGITAL ARITHMETIC Miloš D. Ercegovac and Tomás Lang Morgan Kaufmann Publishers, an imprint of Elsevier, c 2004 Exercise 1.1 (a) 1. 9 bits since 2 8 297 2 9 2. 3 radix-8 digits since 8 2 297 8 3 3. 3

More information

Design and FPGA Implementation of Radix-10 Algorithm for Division with Limited Precision Primitives

Design and FPGA Implementation of Radix-10 Algorithm for Division with Limited Precision Primitives Design and FPGA Implementation of Radix-10 Algorithm for Division with Limited Precision Primitives Miloš D. Ercegovac Computer Science Department Univ. of California at Los Angeles California Robert McIlhenny

More information

Chapter 5 Arithmetic Circuits

Chapter 5 Arithmetic Circuits Chapter 5 Arithmetic Circuits SKEE2263 Digital Systems Mun im/ismahani/izam {munim@utm.my,e-izam@utm.my,ismahani@fke.utm.my} February 11, 2016 Table of Contents 1 Iterative Designs 2 Adders 3 High-Speed

More information

A Hardware-Oriented Method for Evaluating Complex Polynomials

A Hardware-Oriented Method for Evaluating Complex Polynomials A Hardware-Oriented Method for Evaluating Complex Polynomials Miloš D Ercegovac Computer Science Department University of California at Los Angeles Los Angeles, CA 90095, USA milos@csuclaedu Jean-Michel

More information

Computer Architecture 10. Fast Adders

Computer Architecture 10. Fast Adders Computer Architecture 10 Fast s Ma d e wi t h Op e n Of f i c e. o r g 1 Carry Problem Addition is primary mechanism in implementing arithmetic operations Slow addition directly affects the total performance

More information

9. Datapath Design. Jacob Abraham. Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017

9. Datapath Design. Jacob Abraham. Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 9. Datapath Design Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 2, 2017 ECE Department, University of Texas at Austin

More information

Part II Addition / Subtraction

Part II Addition / Subtraction Part II Addition / Subtraction Parts Chapters I. Number Representation 1. 2. 3. 4. Numbers and Arithmetic Representing Signed Numbers Redundant Number Systems Residue Number Systems Elementary Operations

More information

Lecture 8: Sequential Multipliers

Lecture 8: Sequential Multipliers Lecture 8: Sequential Multipliers ECE 645 Computer Arithmetic 3/25/08 ECE 645 Computer Arithmetic Lecture Roadmap Sequential Multipliers Unsigned Signed Radix-2 Booth Recoding High-Radix Multiplication

More information

ARITHMETIC COMBINATIONAL MODULES AND NETWORKS

ARITHMETIC COMBINATIONAL MODULES AND NETWORKS ARITHMETIC COMBINATIONAL MODULES AND NETWORKS 1 SPECIFICATION OF ADDER MODULES FOR POSITIVE INTEGERS HALF-ADDER AND FULL-ADDER MODULES CARRY-RIPPLE AND CARRY-LOOKAHEAD ADDER MODULES NETWORKS OF ADDER MODULES

More information

EECS150 - Digital Design Lecture 24 - Arithmetic Blocks, Part 2 + Shifters

EECS150 - Digital Design Lecture 24 - Arithmetic Blocks, Part 2 + Shifters EECS150 - Digital Design Lecture 24 - Arithmetic Blocks, Part 2 + Shifters April 15, 2010 John Wawrzynek 1 Multiplication a 3 a 2 a 1 a 0 Multiplicand b 3 b 2 b 1 b 0 Multiplier X a 3 b 0 a 2 b 0 a 1 b

More information

Part VI Function Evaluation

Part VI Function Evaluation Part VI Function Evaluation Parts Chapters I. Number Representation 1. 2. 3. 4. Numbers and Arithmetic Representing Signed Numbers Redundant Number Systems Residue Number Systems Elementary Operations

More information

Chapter 2 Basic Arithmetic Circuits

Chapter 2 Basic Arithmetic Circuits Chapter 2 Basic Arithmetic Circuits This chapter is devoted to the description of simple circuits for the implementation of some of the arithmetic operations presented in Chap. 1. Specifically, the design

More information

Adders, subtractors comparators, multipliers and other ALU elements

Adders, subtractors comparators, multipliers and other ALU elements CSE4: Components and Design Techniques for Digital Systems Adders, subtractors comparators, multipliers and other ALU elements Instructor: Mohsen Imani UC San Diego Slides from: Prof.Tajana Simunic Rosing

More information

Part II Addition / Subtraction

Part II Addition / Subtraction Part II Addition / Subtraction Parts Chapters I. Number Representation 1. 2. 3. 4. Numbers and Arithmetic Representing Signed Numbers Redundant Number Systems Residue Number Systems Elementary Operations

More information

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

LOGIC CIRCUITS. Basic Experiment and Design of Electronics Basic Experiment and Design of Electronics LOGIC CIRCUITS Ho Kyung Kim, Ph.D. hokyung@pusan.ac.kr School of Mechanical Engineering Pusan National University Outline Combinational logic circuits Output

More information

Complement Arithmetic

Complement Arithmetic Complement Arithmetic Objectives In this lesson, you will learn: How additions and subtractions are performed using the complement representation, What is the Overflow condition, and How to perform arithmetic

More information

Chapter 8: Solutions to Exercises

Chapter 8: Solutions to Exercises 1 DIGITAL ARITHMETIC Miloš D. Ercegovac and Tomás Lang Morgan Kaufmann Publishers, an imprint of Elsevier Science, c 2004 with contributions by Fabrizio Lamberti Exercise 8.1 Fixed-point representation

More information

CMP 334: Seventh Class

CMP 334: Seventh Class CMP 334: Seventh Class Performance HW 5 solution Averages and weighted averages (review) Amdahl's law Ripple-carry adder circuits Binary addition Half-adder circuits Full-adder circuits Subtraction, negative

More information

Adders, subtractors comparators, multipliers and other ALU elements

Adders, subtractors comparators, multipliers and other ALU elements CSE4: Components and Design Techniques for Digital Systems Adders, subtractors comparators, multipliers and other ALU elements Adders 2 Circuit Delay Transistors have instrinsic resistance and capacitance

More information

Dual-Field Arithmetic Unit for GF(p) and GF(2 m ) *

Dual-Field Arithmetic Unit for GF(p) and GF(2 m ) * Institute for Applied Information Processing and Communications Graz University of Technology Dual-Field Arithmetic Unit for GF(p) and GF(2 m ) * CHES 2002 Workshop on Cryptographic Hardware and Embedded

More information

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D. Basic Experiment and Design of Electronics LOGIC CIRCUITS Ho Kyung Kim, Ph.D. hokyung@pusan.ac.kr School of Mechanical Engineering Pusan National University Digital IC packages TTL (transistor-transistor

More information

Cost/Performance Tradeoff of n-select Square Root Implementations

Cost/Performance Tradeoff of n-select Square Root Implementations Australian Computer Science Communications, Vol.22, No.4, 2, pp.9 6, IEEE Comp. Society Press Cost/Performance Tradeoff of n-select Square Root Implementations Wanming Chu and Yamin Li Computer Architecture

More information

Logic and Computer Design Fundamentals. Chapter 5 Arithmetic Functions and Circuits

Logic and Computer Design Fundamentals. Chapter 5 Arithmetic Functions and Circuits Logic and Computer Design Fundamentals Chapter 5 Arithmetic Functions and Circuits Arithmetic functions Operate on binary vectors Use the same subfunction in each bit position Can design functional block

More information

A VLSI Algorithm for Modular Multiplication/Division

A VLSI Algorithm for Modular Multiplication/Division A VLSI Algorithm for Modular Multiplication/Division Marcelo E. Kaihara and Naofumi Takagi Department of Information Engineering Nagoya University Nagoya, 464-8603, Japan mkaihara@takagi.nuie.nagoya-u.ac.jp

More information

Binary Multipliers. Reading: Study Chapter 3. The key trick of multiplication is memorizing a digit-to-digit table Everything else was just adding

Binary Multipliers. Reading: Study Chapter 3. The key trick of multiplication is memorizing a digit-to-digit table Everything else was just adding Binary Multipliers The key trick of multiplication is memorizing a digit-to-digit table Everything else was just adding 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 2 2 4 6 8 2 4 6 8 3 3 6 9 2 5 8 2 24 27 4 4 8 2 6

More information

Fundamentals of Digital Design

Fundamentals of Digital Design Fundamentals of Digital Design Digital Radiation Measurement and Spectroscopy NE/RHP 537 1 Binary Number System The binary numeral system, or base-2 number system, is a numeral system that represents numeric

More information

Carry Look Ahead Adders

Carry Look Ahead Adders Carry Look Ahead Adders Lesson Objectives: The objectives of this lesson are to learn about: 1. Carry Look Ahead Adder circuit. 2. Binary Parallel Adder/Subtractor circuit. 3. BCD adder circuit. 4. Binary

More information

CSE 140 Spring 2017: Final Solutions (Total 50 Points)

CSE 140 Spring 2017: Final Solutions (Total 50 Points) CSE 140 Spring 2017: Final Solutions (Total 50 Points) 1. (Boolean Algebra) Prove the following Boolean theorem using Boolean laws only, i.e. no theorem is allowed for the proof. State the name of the

More information

Design of Sequential Circuits

Design of Sequential Circuits Design of Sequential Circuits Seven Steps: Construct a state diagram (showing contents of flip flop and inputs with next state) Assign letter variables to each flip flop and each input and output variable

More information

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic. Digital Integrated Circuits A Design Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic Arithmetic Circuits January, 2003 1 A Generic Digital Processor MEMORY INPUT-OUTPUT CONTROL DATAPATH

More information

What s the Deal? MULTIPLICATION. Time to multiply

What s the Deal? MULTIPLICATION. Time to multiply What s the Deal? MULTIPLICATION Time to multiply Multiplying two numbers requires a multiply Luckily, in binary that s just an AND gate! 0*0=0, 0*1=0, 1*0=0, 1*1=1 Generate a bunch of partial products

More information

Review for Final Exam

Review for Final Exam CSE140: Components and Design Techniques for Digital Systems Review for Final Exam Mohsen Imani CAPE Please submit your evaluations!!!! RTL design Use the RTL design process to design a system that has

More information

Lecture 11. Advanced Dividers

Lecture 11. Advanced Dividers Lecture 11 Advanced Dividers Required Reading Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 15 Variation in Dividers 15.3, Combinational and Array Dividers Chapter 16, Division

More information

Multiplication Ivor Page 1

Multiplication Ivor Page 1 Multiplication 1 Multiplication Ivor Page 1 10.1 Shift/Add Multiplication Algorithms We will adopt the notation, a Multiplicand a k 1 a k 2 a 1 a 0 b Multiplier x k 1 x k 2 x 1 x 0 p Product p 2k 1 p 2k

More information

Hardware Design I Chap. 4 Representative combinational logic

Hardware Design I Chap. 4 Representative combinational logic Hardware Design I Chap. 4 Representative combinational logic E-mail: shimada@is.naist.jp Already optimized circuits There are many optimized circuits which are well used You can reduce your design workload

More information

Lecture 8. Sequential Multipliers

Lecture 8. Sequential Multipliers Lecture 8 Sequential Multipliers Required Reading Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 9, Basic Multiplication Scheme Chapter 10, High-Radix Multipliers Chapter

More information

Integer Multipliers 1

Integer Multipliers 1 Integer Multipliers Multipliers must have circuit in most DS applications variety of multipliers exists that can be chosen based on their performance Serial, Serial/arallel,Shift and dd, rray, ooth, Wallace

More information

Reduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs

Reduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs Article Reduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs E. George Walters III Department of Electrical and Computer Engineering, Penn State Erie,

More information

Unit 7 Sequential Circuits (Flip Flop, Registers)

Unit 7 Sequential Circuits (Flip Flop, Registers) College of Computer and Information Sciences Department of Computer Science CSC 220: Computer Organization Unit 7 Sequential Circuits (Flip Flop, Registers) 2 SR Flip-Flop The SR flip-flop, also known

More information

Design and Implementation of a Radix-4 Complex Division Unit with Prescaling

Design and Implementation of a Radix-4 Complex Division Unit with Prescaling esign and Implementation of a Radix-4 Complex ivision Unit with Prescaling Pouya ormiani Computer Science epartment University of California at Los Angeles Los Angeles, CA 90024, USA Email: pouya@cs.ucla.edu

More information

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007 EECS 150 - Components and Design Techniques for Digital Systems FSMs 9/11/2007 Sarah Bird Electrical Engineering and Computer Sciences University of California, Berkeley Slides borrowed from David Culler

More information

We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors

We are here. Assembly Language. Processors Arithmetic Logic Units. Finite State Machines. Circuits Gates. Transistors CSC258 Week 3 1 Logistics If you cannot login to MarkUs, email me your UTORID and name. Check lab marks on MarkUs, if it s recorded wrong, contact Larry within a week after the lab. Quiz 1 average: 86%

More information

Proposal to Improve Data Format Conversions for a Hybrid Number System Processor

Proposal to Improve Data Format Conversions for a Hybrid Number System Processor Proceedings of the 11th WSEAS International Conference on COMPUTERS, Agios Nikolaos, Crete Island, Greece, July 6-8, 007 653 Proposal to Improve Data Format Conversions for a Hybrid Number System Processor

More information

ALU (3) - Division Algorithms

ALU (3) - Division Algorithms HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Lecture 12 ALU (3) - Division Algorithms Sommersemester 2002 Leitung: Prof. Dr. Miroslaw Malek www.informatik.hu-berlin.de/rok/ca CA - XII - ALU(3)

More information

CS 140 Lecture 14 Standard Combinational Modules

CS 140 Lecture 14 Standard Combinational Modules CS 14 Lecture 14 Standard Combinational Modules Professor CK Cheng CSE Dept. UC San Diego Some slides from Harris and Harris 1 Part III. Standard Modules A. Interconnect B. Operators. Adders Multiplier

More information

Tunable Floating-Point for Energy Efficient Accelerators

Tunable Floating-Point for Energy Efficient Accelerators Tunable Floating-Point for Energy Efficient Accelerators Alberto Nannarelli DTU Compute, Technical University of Denmark 25 th IEEE Symposium on Computer Arithmetic A. Nannarelli (DTU Compute) Tunable

More information

Low Power and Low Complexity Shift-and-Add Based Computations

Low Power and Low Complexity Shift-and-Add Based Computations Linköping Studies in Science and Technology Dissertations, No. 2 Low Power and Low Complexity Shift-and-Add Based Computations Kenny Johansson Department of Electrical Engineering Linköping University,

More information

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3

Digital Logic: Boolean Algebra and Gates. Textbook Chapter 3 Digital Logic: Boolean Algebra and Gates Textbook Chapter 3 Basic Logic Gates XOR CMPE12 Summer 2009 02-2 Truth Table The most basic representation of a logic function Lists the output for all possible

More information

Tree and Array Multipliers Ivor Page 1

Tree and Array Multipliers Ivor Page 1 Tree and Array Multipliers 1 Tree and Array Multipliers Ivor Page 1 11.1 Tree Multipliers In Figure 1 seven input operands are combined by a tree of CSAs. The final level of the tree is a carry-completion

More information

Menu. 7-Segment LED. Misc. 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU

Menu. 7-Segment LED. Misc. 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU Menu 7-Segment LED MSI Components >MUX >Adders Memory Devices >D-FF, RAM, ROM Computer/Microprocessor >GCPU Look into my... 1 7-Segment LED a b c h GND c g b d f a e h Show 7-segment LED in LogicWorks,

More information

Cost/Performance Tradeoffs:

Cost/Performance Tradeoffs: Cost/Performance Tradeoffs: a case study Digital Systems Architecture I. L10 - Multipliers 1 Binary Multiplication x a b n bits n bits EASY PROBLEM: design combinational circuit to multiply tiny (1-, 2-,

More information

Analysis and Synthesis of Weighted-Sum Functions

Analysis and Synthesis of Weighted-Sum Functions Analysis and Synthesis of Weighted-Sum Functions Tsutomu Sasao Department of Computer Science and Electronics, Kyushu Institute of Technology, Iizuka 820-8502, Japan April 28, 2005 Abstract A weighted-sum

More information

UNIT V FINITE WORD LENGTH EFFECTS IN DIGITAL FILTERS PART A 1. Define 1 s complement form? In 1,s complement form the positive number is represented as in the sign magnitude form. To obtain the negative

More information

COE 202: Digital Logic Design Sequential Circuits Part 4. Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office:

COE 202: Digital Logic Design Sequential Circuits Part 4. Dr. Ahmad Almulhem   ahmadsm AT kfupm Phone: Office: COE 202: Digital Logic Design Sequential Circuits Part 4 Dr. Ahmad Almulhem Email: ahmadsm AT kfupm Phone: 860-7554 Office: 22-324 Objectives Registers Counters Registers 0 1 n-1 A register is a group

More information

The goal differs from prime factorization. Prime factorization would initialize all divisors to be prime numbers instead of integers*

The goal differs from prime factorization. Prime factorization would initialize all divisors to be prime numbers instead of integers* Quantum Algorithm Processor For Finding Exact Divisors Professor J R Burger Summary Wiring diagrams are given for a quantum algorithm processor in CMOS to compute, in parallel, all divisors of an n-bit

More information

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1>

Chapter 5. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 5 <1> Chapter 5 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 5 Chapter 5 :: Topics Introduction Arithmetic Circuits umber Systems Sequential Building

More information

Logic Design II (17.342) Spring Lecture Outline

Logic Design II (17.342) Spring Lecture Outline Logic Design II (17.342) Spring 2012 Lecture Outline Class # 10 April 12, 2012 Dohn Bowden 1 Today s Lecture First half of the class Circuits for Arithmetic Operations Chapter 18 Should finish at least

More information

Proposal to Improve Data Format Conversions for a Hybrid Number System Processor

Proposal to Improve Data Format Conversions for a Hybrid Number System Processor Proposal to Improve Data Format Conversions for a Hybrid Number System Processor LUCIAN JURCA, DANIEL-IOAN CURIAC, AUREL GONTEAN, FLORIN ALEXA Department of Applied Electronics, Department of Automation

More information

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic.

Digital Integrated Circuits A Design Perspective. Arithmetic Circuits. Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic. Digital Integrated Circuits A Design Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic Arithmetic Circuits January, 2003 1 A Generic Digital Processor MEM ORY INPUT-OUTPUT CONTROL DATAPATH

More information

DSP Design Lecture 7. Unfolding cont. & Folding. Dr. Fredrik Edman.

DSP Design Lecture 7. Unfolding cont. & Folding. Dr. Fredrik Edman. SP esign Lecture 7 Unfolding cont. & Folding r. Fredrik Edman fredrik.edman@eit.lth.se Unfolding Unfolding creates a program with more than one iteration, J=unfolding factor Unfolding is a structured way

More information

Residue Number Systems Ivor Page 1

Residue Number Systems Ivor Page 1 Residue Number Systems 1 Residue Number Systems Ivor Page 1 7.1 Arithmetic in a modulus system The great speed of arithmetic in Residue Number Systems (RNS) comes from a simple theorem from number theory:

More information

ELEN Electronique numérique

ELEN Electronique numérique ELEN0040 - Electronique numérique Patricia ROUSSEAUX Année académique 2014-2015 CHAPITRE 3 Combinational Logic Circuits ELEN0040 3-4 1 Combinational Functional Blocks 1.1 Rudimentary Functions 1.2 Functions

More information

Linear Feedback Shift Registers (LFSRs) 4-bit LFSR

Linear Feedback Shift Registers (LFSRs) 4-bit LFSR Linear Feedback Shift Registers (LFSRs) These are n-bit counters exhibiting pseudo-random behavior. Built from simple shift-registers with a small number of xor gates. Used for: random number generation

More information

EECS150 - Digital Design Lecture 21 - Design Blocks

EECS150 - Digital Design Lecture 21 - Design Blocks EECS150 - Digital Design Lecture 21 - Design Blocks April 3, 2012 John Wawrzynek Spring 2012 EECS150 - Lec21-db3 Page 1 Fixed Shifters / Rotators fixed shifters hardwire the shift amount into the circuit.

More information

A Suggestion for a Fast Residue Multiplier for a Family of Moduli of the Form (2 n (2 p ± 1))

A Suggestion for a Fast Residue Multiplier for a Family of Moduli of the Form (2 n (2 p ± 1)) The Computer Journal, 47(1), The British Computer Society; all rights reserved A Suggestion for a Fast Residue Multiplier for a Family of Moduli of the Form ( n ( p ± 1)) Ahmad A. Hiasat Electronics Engineering

More information

vidyarthiplus.com vidyarthiplus.com vidyarthiplus.com ANNA UNIVERSITY- COMBATORE B.E./ B.TECH. DEGREE EXAMINATION - JUNE 2009. ELECTRICAL & ELECTONICS ENGG. - FOURTH SEMESTER DIGITAL LOGIC CIRCUITS PART-A

More information

CPE100: Digital Logic Design I

CPE100: Digital Logic Design I Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu CPE100: Digital Logic Design I Final Review http://www.ee.unlv.edu/~b1morris/cpe100/ 2 Logistics Tuesday Dec 12 th 13:00-15:00 (1-3pm) 2 hour

More information

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits.

Digital Logic. CS211 Computer Architecture. l Topics. l Transistors (Design & Types) l Logic Gates. l Combinational Circuits. CS211 Computer Architecture Digital Logic l Topics l Transistors (Design & Types) l Logic Gates l Combinational Circuits l K-Maps Figures & Tables borrowed from:! http://www.allaboutcircuits.com/vol_4/index.html!

More information

Radix-4 Vectoring CORDIC Algorithm and Architectures. July 1998 Technical Report No: UMA-DAC-98/20

Radix-4 Vectoring CORDIC Algorithm and Architectures. July 1998 Technical Report No: UMA-DAC-98/20 Radix-4 Vectoring CORDIC Algorithm and Architectures J. Villalba E. Antelo J.D. Bruguera E.L. Zapata July 1998 Technical Report No: UMA-DAC-98/20 Published in: J. of VLSI Signal Processing Systems for

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Simple Processor CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev Digital

More information

Arithme(c logic units and memory

Arithme(c logic units and memory Arithme(c logic units and memory CSCI 255: Introduc/on to Embedded Systems Keith Vertanen Copyright 2011 Layers of abstrac-on abstrac(on building blocks examples computer components Macbook Pro components

More information

Unit II Chapter 4:- Digital Logic Contents 4.1 Introduction... 4

Unit II Chapter 4:- Digital Logic Contents 4.1 Introduction... 4 Unit II Chapter 4:- Digital Logic Contents 4.1 Introduction... 4 4.1.1 Signal... 4 4.1.2 Comparison of Analog and Digital Signal... 7 4.2 Number Systems... 7 4.2.1 Decimal Number System... 7 4.2.2 Binary

More information

Spiral 2-1. Datapath Components: Counters Adders Design Example: Crosswalk Controller

Spiral 2-1. Datapath Components: Counters Adders Design Example: Crosswalk Controller 2-. piral 2- Datapath Components: Counters s Design Example: Crosswalk Controller 2-.2 piral Content Mapping piral Theory Combinational Design equential Design ystem Level Design Implementation and Tools

More information

Low Power Division and Square Root

Low Power Division and Square Root UNIVERSITY OF CALIFORNIA, IRVINE Low Power Division and Square Root DISSERTATION submitted in partial satisfaction of the requirements for the degree of DOCTOR OF PHILOSOPHY in Engineering by Alberto Nannarelli

More information

ECE380 Digital Logic. Positional representation

ECE380 Digital Logic. Positional representation ECE380 Digital Logic Number Representation and Arithmetic Circuits: Number Representation and Unsigned Addition Dr. D. J. Jackson Lecture 16-1 Positional representation First consider integers Begin with

More information

SIR C.R.REDDY COLLEGE OF ENGINEERING ELURU DIGITAL INTEGRATED CIRCUITS (DIC) LABORATORY MANUAL III / IV B.E. (ECE) : I - SEMESTER

SIR C.R.REDDY COLLEGE OF ENGINEERING ELURU DIGITAL INTEGRATED CIRCUITS (DIC) LABORATORY MANUAL III / IV B.E. (ECE) : I - SEMESTER SIR C.R.REDDY COLLEGE OF ENGINEERING ELURU 534 007 DIGITAL INTEGRATED CIRCUITS (DIC) LABORATORY MANUAL III / IV B.E. (ECE) : I - SEMESTER DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING DIGITAL

More information

CPS 104 Computer Organization and Programming Lecture 11: Gates, Buses, Latches. Robert Wagner

CPS 104 Computer Organization and Programming Lecture 11: Gates, Buses, Latches. Robert Wagner CPS 4 Computer Organization and Programming Lecture : Gates, Buses, Latches. Robert Wagner CPS4 GBL. RW Fall 2 Overview of Today s Lecture: The MIPS ALU Shifter The Tristate driver Bus Interconnections

More information

EXPERIMENT Bit Binary Sequential Multiplier

EXPERIMENT Bit Binary Sequential Multiplier 12.1 Objectives EXPERIMENT 12 12. -Bit Binary Sequential Multiplier Introduction of large digital system design, i.e. data path and control path. To apply the above concepts to the design of a sequential

More information

ALU A functional unit

ALU A functional unit ALU A functional unit that performs arithmetic operations such as ADD, SUB, MPY logical operations such as AND, OR, XOR, NOT on given data types: 8-,16-,32-, or 64-bit values A n-1 A n-2... A 1 A 0 B n-1

More information

Number representation

Number representation Number representation A number can be represented in binary in many ways. The most common number types to be represented are: Integers, positive integers one-complement, two-complement, sign-magnitude

More information

A 32-bit Decimal Floating-Point Logarithmic Converter

A 32-bit Decimal Floating-Point Logarithmic Converter A 3-bit Decimal Floating-Point Logarithmic Converter Dongdong Chen 1, Yu Zhang 1, Younhee Choi 1, Moon Ho Lee, Seok-Bum Ko 1, Department of Electrical and Computer Engineering, University of Saskatchewan

More information

IT T35 Digital system desigm y - ii /s - iii

IT T35 Digital system desigm y - ii /s - iii UNIT - II Combinational Logic Adders subtractors code converters binary parallel adder decimal adder magnitude comparator encoders decoders multiplexers demultiplexers-binarymultiplier Parity generator

More information

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Emerging Technologies in Computational

More information

DIVIDER IMPLEMENTATION

DIVIDER IMPLEMENTATION c n = cn-= DAIL LLAOCCA CLab@OU DIVID IPLTATIO The division of two unsigned integer numbers A (where A is the dividend and the divisor), results in a quotient and a residue. These quantities are related

More information

Implementation Of Digital Fir Filter Using Improved Table Look Up Scheme For Residue Number System

Implementation Of Digital Fir Filter Using Improved Table Look Up Scheme For Residue Number System Implementation Of Digital Fir Filter Using Improved Table Look Up Scheme For Residue Number System G.Suresh, G.Indira Devi, P.Pavankumar Abstract The use of the improved table look up Residue Number System

More information

ELEC516 Digital VLSI System Design and Design Automation (spring, 2010) Assignment 4 Reference solution

ELEC516 Digital VLSI System Design and Design Automation (spring, 2010) Assignment 4 Reference solution ELEC516 Digital VLSI System Design and Design Automation (spring, 010) Assignment 4 Reference solution 1) Pulse-plate 1T DRAM cell a) Timing diagrams for nodes and Y when writing 0 and 1 Timing diagram

More information

1 Short adders. t total_ripple8 = t first + 6*t middle + t last = 4t p + 6*2t p + 2t p = 18t p

1 Short adders. t total_ripple8 = t first + 6*t middle + t last = 4t p + 6*2t p + 2t p = 18t p UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Study Homework: Arithmetic NTU IC54CA (Fall 2004) SOLUTIONS Short adders A The delay of the ripple

More information

Lab 3 Revisited. Zener diodes IAP 2008 Lecture 4 1

Lab 3 Revisited. Zener diodes IAP 2008 Lecture 4 1 Lab 3 Revisited Zener diodes R C 6.091 IAP 2008 Lecture 4 1 Lab 3 Revisited +15 Voltage regulators 555 timers 270 1N758 0.1uf 5K pot V+ V- 2N2222 0.1uf V o. V CC V Vin s = 5 V Vc V c Vs 1 e t = RC Threshold

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 281: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Multiplication CprE 281: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev HW

More information

Issues on Timing and Clocking

Issues on Timing and Clocking ECE152B TC 1 Issues on Timing and Clocking X Combinational Logic Z... clock clock clock period ECE152B TC 2 Latch and Flip-Flop L CK CK 1 L1 1 L2 2 CK CK CK ECE152B TC 3 Clocking X Combinational Logic...

More information

Parallel Multipliers. Dr. Shoab Khan

Parallel Multipliers. Dr. Shoab Khan Parallel Multipliers Dr. Shoab Khan String Property 7=111=8-1=1001 31= 1 1 1 1 1 =32-1 Or 1 0 0 0 0 1=32-1=31 Replace string of 1s in multiplier with In a string when ever we have the least significant

More information

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 3 - ARITMETHIC-LOGIC UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 3 - ARITMETHIC-LOGIC UNIT JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ OMUTERS ORGANIZATION 2ND YEAR OMUTE SIENE MANAGEMENT ENGINEERING UNIT 3 - ARITMETHI-LOGI UNIT JOSÉ GARÍA RODRÍGUEZ JOSÉ ANTONIO SERRA ÉREZ Tema 3. La Unidad entral de roceso. A.L.U. Arithmetic Logic Unit

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: J. Rose and

More information

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution . (a) (i) ( B C 5) H (A 2 B D) H S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution ( B C 5) H (A 2 B D) H = (FFFF 698) H (ii) (2.3) 4 + (22.3) 4 2 2. 3 2. 3 2 3. 2 (2.3)

More information

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department Page 1 of 13 COE 202: Digital Logic Design (3-0-3) Term 112 (Spring 2012) Final

More information

Combinatorial Logic Design Multiplexers and ALUs CS 64: Computer Organization and Design Logic Lecture #13

Combinatorial Logic Design Multiplexers and ALUs CS 64: Computer Organization and Design Logic Lecture #13 Combinatorial Logic Design Multiplexers and ALUs CS 64: Computer Organization and Design Logic Lecture #13 Ziad Matni Dept. of Computer Science, UCSB Administrative Re: Midterm Exam #2 Graded! 5/22/18

More information