DIGIT-SERIAL ARITHMETIC
|
|
- Barnard Gardner
- 6 years ago
- Views:
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 1 SEVERAL DIVISION METHODS: DIGIT-RECURRENCE METHOD studied in this chapter MULTIPLICATIVE METHOD (Chapter 7) VARIOUS APPROXIMATION METHODS (power series expansion), SPECIAL
More informationChapter 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 informationChapter 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 informationVLSI 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 informationChapter 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 informationDesign 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 informationChapter 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 informationA 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 informationComputer 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 information9. 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 informationPart 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 informationLecture 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 informationARITHMETIC 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 informationEECS150 - 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 informationPart 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 informationChapter 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 informationAdders, 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 informationPart 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 informationLOGIC 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 informationComplement 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 informationChapter 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 informationCMP 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 informationAdders, 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 informationDual-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 informationLOGIC 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 informationCost/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 informationLogic 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 informationA 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 informationBinary 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 informationFundamentals 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 informationCarry 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 informationCSE 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 informationDesign 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 informationDigital 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 informationWhat 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 informationReview 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 informationLecture 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 informationMultiplication 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 informationHardware 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 informationLecture 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 informationInteger 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 informationReduced-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 informationUnit 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 informationDesign 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 informationEECS 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 informationWe 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 informationProposal 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 informationALU (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 informationCS 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 informationTunable 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 informationLow 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 informationDigital 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 informationTree 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 informationMenu. 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 informationCost/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 informationAnalysis 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 informationUNIT 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 informationCOE 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 informationThe 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 informationChapter 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 informationLogic 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 informationProposal 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 informationDigital 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 informationDSP 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 informationResidue 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 informationELEN 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 informationLinear 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 informationEECS150 - 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 informationA 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 informationvidyarthiplus.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 informationCPE100: 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 informationDigital 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 informationRadix-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 informationCprE 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 informationArithme(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 informationUnit 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 informationSpiral 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 informationLow 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 informationECE380 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 informationSIR 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 informationCPS 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 informationEXPERIMENT 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 informationALU 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 informationNumber 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 informationA 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 informationIT 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 informationInternational 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 informationDIVIDER 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 informationImplementation 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 informationELEC516 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 information1 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 informationLab 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 informationCprE 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 informationIssues 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 informationParallel 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 informationCOMPUTERS 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 informationUniversity 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 informationVidyalankar 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 informationKing 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 informationCombinatorial 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