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

Size: px
Start display at page:

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

Transcription

1 SP esign Lecture 7 Unfolding cont. & Folding r. Fredrik Edman fredrik.edman@eit.lth.se

2 Unfolding Unfolding creates a program with more than one iteration, J=unfolding factor Unfolding is a structured way to achieve parallel processing Applications Reveal hidden concurrencies so that the program can be scheduled to a smaller iteration period T Parallel processing Bit-serial and igit-serial Unfolding = Loop unrolling assembly programming compiler theory

3 General Algorithm for unfolding Step 1. For each node U in the original FG, draw J nodes U 0, U 1, U 2,, U J-1 i = 0, 1,, J-1 U 0 J= 9 V 0 U 37 V U 1 9 V 1 ( i w) ( i 37) + J = + = 9, i 10, = 0,1,2 i = 3 U 2 U V 2 V 3 Step 2. For each edge U V with w delays in the original FG, draw the J edges U i V (i + w)%j (i+w)/j delays for i = 0, 1,, J-1 with

4 Properties of unfolding Unfolding preserves the number of delays in a FG w/j + (w+1)/j + + (w + J - 1)/J = w Unfolding preserves precedence constraints J-unfolding of a loop with w l delays in the original FG gcd(w l, J) loops in the unfolded FG. Each loop contains w l /gcd(w l, J) delays and J/ gcd(w l, J) copies of each node. Unfolding a FG with iteration bound T results in a J-unfolded FG with iteration bound JT.

5 Unfolding of Switches The following assumptions are made when unfolding an edge U V containing a switch : The wordlength W is a multiple of the unfolding factor J, i.e. W = W J. All edges into and out of the switch have no delays. If so, an edge U V can be unfolded as: Write the switching instance as Wl + u = J( W l + u/j ) + (u%j) raw an edge from the node U u%j V u%j, which is switched at time instance ( W l + u/j ). U Wl+u V

6 Unfolding (cont.) Chapter 5

7 What about Switches with elays? Unfolding a FG containing an edge having a switch and a positive number of delays is done by introducing a dummy node. A B 2 6l + 1, 5 6l + 0, 2, 3, C Inserting ummy node A B 2 6l + 1, 5 6l + 0, 2, 3, C After unfolding remove the dummy node!

8 Example: How to Unfold a Bit-serial Adder A S Output INPUTS X Bit-Serial B l +0 l +1,2,3 a b i i s i cout i Reset Carry = 0 Z Carry

9 Example: How to Unfold a Bit-serial Adder A S Output INPUTS X B l +0 l +1,2,3 ummy node Reset Carry = 0 Z Carry

10 Unfold Bit-serial Adder, J=2 A 0 S 0 A 1 S 1 X 0 X 1 B 0 0 B 1 1 Z 0 Z 1 For each node U in the original FG, draw J nodes U 0, U 1, U 2,, U J-1

11 Unfold Bit-serial Adder, J=2 A 0 S 0 A 1 S 1 X 0 X 1 B 0 0 B 1 1 Z 0 Z 1 For each edge U V with w delays in the original FG, draw the J edges U i V (i + w)%j with (i+w)/j delays for i = 0, 1,, J-1 If edge has w=0 U i V i with 0 delays

12 Unfold Bit-serial Adder, J=2 A 0 S 0 A 1 S 1 X 0 X 1 B 0 0 B 1 1 Z 0 Z 1 For each edge U V with w delays in the original FG, draw the J edges U i V (i + w)%j with (i+w)/j delays for i = 0, 1,, J-1 X for i=0 X 0 1 with 0 delays and X for i=1 X 1 0 with 1 delays

13 Unfold the Switch, J=2 A 0 S 0 X 0 Z X l+0 2(2l+0)+0 B 0 l+0 l+1,2,3 Z 0 0 X l+1 2(2l+0)+1 l+2 2(2l+1)+0 l+3 2(2l+1)+1 Write the switching instance as Wl + u = J( W l + u/j ) + (u%j)

14 Unfold the Switch, J=2 A 0 S 0 X 0 Z X l+0 2(2l+0)+0 B 0 l+0 l+1,2,3 Z 0 0 X l+1 2(2l+0)+1 l+2 2(2l+1)+0 l+3 2(2l+1)+1 Z 0 X 0 at time 2l+0 0 X 0 at time 2l+1

15 Unfold the Switch, J=2 A 0 S 0 X 0 Z X l+0 2(2l+0)+0 B 0 l+0 l+1,2,3 Z 0 0 X l+1 2(2l+0)+1 l+2 2(2l+1)+0 l+3 2(2l+1)+1 Z 0 X 0 at time 2l+0 0 X 0 at time 2l+1 1 X 1 at time 2l+0,1 i.e. always closed

16 Unfold the Switch, J=2 A 0 S 0 A 1 S 1 X 0 X 1 B 0 2l+0 2l+1 0 B 1 1 Z 0 Z 1 ead Node Z 0 X 0 at time 2l+0 0 X 0 at time 2l+1 1 X 1 at time 2l+0,1 i.e. always closed

17 Remove ead and ummy Nodes A 0 S 0 A 1 S 1 X 0 X 1 B 0 2l+0 2l+1 Z 0 B 1 Z 0 X 0 at time 2l+0 0 X 0 at time 2l+1 1 X 1 at time 2l+0,1 i.e. always closed

18 The igit Serial Adder A 0 S 0 A 1 S 1 X 0 X 1 digit2 digit1 B 0 2l+0 2l+1 B 1 a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0 Z 0 s 3 s 2 s 1 s 0 Carry next iteration =1 Carry within iteration

19 Fully Parallel Adder, i.e.j= LSB MSB A 0 S 0 A 1 S 1 A 2 S 2 A 3 S 3 X 0 X 1 X 2 X 3 B 0 0 B 1 1 B 2 2 B 3 3 Z 0 Z 1 Z 2 Z 3 For each node U in the original FG, draw J nodes U 0, U 1, U 2,, U J-1 For each edge U V with w delays in the original FG, draw the J edges U i V (i + w)%j with (i+w)/j delays for i = 0, 1,, J-1

20 Unfold the Switch, J= A 0 S 0 X 0 Z X l+0 (1l+0)+0 B 0 l+0 l+1,2,3 Z 0 0 X l+1 (1l+0)+1 l+2 (1l+0)+2 l+3 (1l+0)+3 Write the switching instance as Wl + u = J( W l + u/j ) + (u%j)

21 Unfold the Switch, J= A 0 S 0 X 0 Z X l+0 (1l+0)+0 B 0 l+0 l+1,2,3 Z 0 0 X l+1 (1l+0)+1 l+2 (1l+0)+2 l+3 (1l+0)+3 Only 1 time instance 0, i.e. fully parallel Z 0 X 0, 1 X 1, 2 X 2 and 3 X 3

22 Bit-parallel Adder A 0 S 0 A 1 S 1 A 2 S 2 A 3 S 3 X 0 X 1 X 2 X 3 B 0 0 B 1 1 B 2 2 B 3 3 Z 0 Z 1 Z 2 Z 3 Only 1 time instance 0, i.e. fully parallel Z 0 X 0, 1 X 1, 2 X 2 and 3 X 3

23 LSB Bit-parallel Adder MSB A 0 S 0 A 1 S 1 A 2 S 2 A 3 S 3 X 0 X 1 X 2 X 3 B 0 0 B 1 1 B 2 2 B 3 3 Z 0 Z 1 Z 2 Z 3 ead nodes

24 Remove ead and ummy Nodes A 0 S 0 A 1 S 1 A 2 S 2 A 3 S 3 X 0 X 1 X 2 X 3 B 0 0 B 1 1 B 2 2 B 3 3 Z 0 Z 1 Z 2 Z 3 ead nodes can be removed ummy nodes can be removed

25 Bit-parallel Adder Carry from MSB as overflow or if to be used as a -bit module A 0 S 0 A 1 S 1 A 2 S 2 A 3 S 3 X 0 X 1 X 2 X 3 B 0 B 1 B 2 B 3 Z 0 Switch if to be used as a -bit module Carry = 0 Carry Ripple Adder a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0 s 3 s 2 s 1 s 0

26 If Wordlength is not a multiple of J determine L=lcm{W,J}, lcm = least common multiple replace switching instance Wl+u with L/W instances Ll+u+wW, for w= 0..L/W-1 i.e. the switching periodicity has been changed from W to L perform the unfolding as previously identify the correspondence between original instances and expanded instances

27 Example: Unfold Bit-serial Adder by J=3 A Z X B l +0 l +1,2,3 S Wordlength W= not a multiple of the the unfolding factor J=3. etermine L=lcm{W,J}=lcm{,3}=12 Replace Wl+u with Ll+u+wW for w= 0 to L/W-1

28 Example: Unfold Bit-serial Adder by J=3 A X S Replace Wl+u with Ll+u+wW for w= 0 to L/W-1 B 12l+0,,8 Z 12l+1,2,3,5,6,7, 9,10,11 l+0 is now equivalent to 12l+0, 12l+ and 12l+8 and so on Unfold as for the regular case.

29 Example: Unfold Bit-serial Adder by J=3 A 0 S 0 A 1 S 1 A 2 S 2 X 0 X 1 X 2 B 0 0 B 1 1 B 2 2 Z 0 Z 2

30 Example: Unfold Bit-serial Adder by J=3 A S Write the switching instance as Wl + u = J( W l + u/j ) + (u%j) B 12l+0,,8 X 12l+0 = 3(l+0)+0 12l+ = 3(l+1)+1 12l+8 = 3(l+2)+2 raw an edge from node U u%j V u%j, which is switched at time instance Z 0 X 0 Z 1 X 1 Z 2 X 2 Z ( W l + u/j )

31 Example: Unfold Bit-serial Adder by J=3 A 0 S 0 A 1 S 1 A 2 S 2 X 0 X 1 X 2 B 0 0 B 1 1 B 2 2 l+0 l+1 l+2 Z 0 Z 1 Z 2

32 Example: Unfold Bit-serial Adder by J=3 A B Z X S 12l+1,2,3,5,6,7, 9,10,11 Write the switching instance as Wl + u = J( W l + u/j ) + (u%j) 12l+1 = 3(l+0)+1 12l+2 = 3(l+0)+2 12l+3 = 3(l+1)+0 0 X 0 12l+5 = 3(l+1)+2 12l+6 = 3(l+2)+0 0 X 0 12l+7 = 3(l+2)+1 12l+9 = 3(l+3)+0 0 X 0 12l+10 = 3(l+3)+1 12l+11 = 3(l+3)+2

33 Example: Unfold Bit-serial Adder by J=3 A 0 S 0 A 1 S 1 A 2 S 2 X 0 X 1 X 2 B 0 0 B 1 1 B 2 2 l+0 l+1,2,3 l+1 l+0,2,3 l+2 l+0,1,3 Z 0 Z 1 Z 2

34 Example: Unfold Bit-serial Adder by J=3 A B Z X S 12l+1,2,3,5,6,7, 9,10,11 Write the switching instance as Wl + u = J( W l + u/j ) + (u%j) 12l+1 = 3(l+0)+1 1 X 1 12l+2 = 3(l+0)+2 12l+3 = 3(l+1)+0 12l+5 = 3(l+1)+2 12l+6 = 3(l+2)+0 12l+7 = 3(l+2)+1 1 X 1 12l+9 = 3(l+3)+0 12l+10 = 3(l+3)+1 1 X 1 12l+11 = 3(l+3)+2

35 Example: Unfold Bit-serial Adder by J=3 A 0 S 0 A 1 S 1 A 2 S 2 X 0 X 1 X 2 B 0 0 B 1 1 B 2 2 l+0 l+1,2,3 l+1 l+0,2,3 l+2 l+0,1,3 Z 0 Z 1 Z 2

36 Example: Unfold Bit-serial Adder by J=3 A B Z X S 12l+1,2,3,5,6,7, 9,10,11 Write the switching instance as Wl + u = J( W l + u/j ) + (u%j) 12l+1 = 3(l+0)+1 12l+2 = 3(l+0)+2 2 X 2 12l+3 = 3(l+1)+0 12l+5 = 3(l+1)+2 2 X 2 12l+6 = 3(l+2)+0 12l+7 = 3(l+2)+1 12l+9 = 3(l+3)+0 12l+10 = 3(l+3)+1 12l+11 = 3(l+3)+2 2 X 2

37 Example: Unfold Bit-serial Adder by J=3 A 0 S 0 A 1 S 1 A 2 S 2 X 0 X 1 X 2 B 0 0 B 1 1 B 2 2 l+0 l+1,2,3 l+1 l+0,2,3 l+2 l+0,1,3 Z 0 Z 1 Z 2 c 3 c 2 c 1 c 0 d 3 d 2 d 1 d 0 s 3 s 2 s 1 s 0 a 3 a 2 a 1 a 0 b 3 b 2 b 1 b 0 s 3 s 2 s 1 s 0

38 End of Unfolding

39 Folding Chapter 6

40 Node A What is folding?? Folding is the Inverse of Unfolding A Folding by N (N=folding factor) A 0 Unfolding by J A 1 A J-1

41 Folding? Used to minimize silicon area (trading area for time)! A way to systematically determine the control circuits in SP architectures by folding transformation, where multiple algorithm operations are time-multiplexed to a single functional unit. Use for synthesis of SP architectures that can be operated at single or multiple clocks. Use to reduce the number of hardware functional units (FUs) such as adders and mults by a factor of N at the expense of increasing computation time by a factor of N. But Folding lead to an architecture that uses a large number of registers and thus a register minimization technique needs sometime to be applied.

42 Hardware Mapped vs. Time multiplexed x(n) FIR : y N 1 k = 0 ( n) = h( k) x( n k) MUX c h0 h1 h2 h3 REG 1 sample/cc N fixed multipliers N-1 adders y(n) N cc/sample 1 generalized multiplier 1 adders 1 coefficient memory + control

43 Hardware Mapped vs. Time multiplexed/microcoded Biquad Filter M MUX Hardware mapped 5 mult with fixed coeffecients adders 2 delays Latency=1cc Microcoded 1 mult 1 adder Latency=5cc Coeff Memory 3 Registers Controller c MUX REG REG REG

44 a(n) SP esign Folding Time-shared Architecture b(n) c(n) y(n) y ( n) = a( n) + b( n) + c( n) a(n) b(n) 2l+0 2l+0 2l+1 2l+1 c(n) 2l+0 Folding is a technique to reduce the silicon area by time-multiplexing many operations into single functional units. The right figure shows a 2 times folded architecture where 2 additions are folded, or time-multiplexed, to a single adder Folding introduces registers/storage Computation time increased, e.g. one output sample every 2 cc (one input signal consumed every 2cc) y(n)

45 Folding Example A more detailed look! a(0) b(0) 2l+0 y ( n) = a( n) + b( n) + c( n) Cycle 0 2l+0 2l+0 y(-1) a(n) a(0)+b(0) b(n) c(n) Cycle 1 2l+1 c(0) y(n) b(1) Cycle 2 2l+0 2l+1 Cycle 3 2l+1 c(1) a(1) 2l+0 2l+0 a(0)+b(0)+c(0) 2l+1

46 Control Unit Finite State Machine a(n) 2l+0 b(n) 2l+0 2l+1 2l+1 c(n) 2l+0 y(n) S0 -/0 -/1 S1 control signal(s) Control units can be complex in large systems!

47 Folding Reduce hardware by N-folding T computation increased by N Latecy Extremes Fully parallel Time multiplexed = 1 unit per algorithmic operation Folding extra registers, i.e. extra storage a more complex control unit more latency

48 N=folding factor Nr. of operations folded to a single unit Folding Transformation Nl+u H u U ω(e) V l = iteration HW-unit V P u F (U V) Nl+v H v P v HW-unit U Level of Pipeline elays in folded graph u and v are folding order, i.e. scheduled time 0 u, v N 1

49 Folding Transformation Nl+u H u P u F (U V) Nl+v H u is pipelined by P u stages and its output is available at Nl + u + P u. Edge U V has w(e) delays the l-th iteration of U is used by (l+w(e)) th iteration of node V, which is executed at N(l + w(e)) + v. So, the result should be stored for : F (U V) = [N(l + w(e)) + v] [Nl + P u + u] H v P v F (U V) = Nw(e) - P u + v u ( independent of l )

50 Folding Set A folding set is an ordered set of operations to be executed on the same functional unit. The folding set are typically obtained from a scheduling and allocation algorithm (ref. Appendix B) The folding set represents underlying folding transformation Each set contain N entries, N=folding factor. Folding order: ( N-1) S = { A, A } 0, A 1 belongs to folding set S 1 with folding order 0 N=3 Null operation ( ) S 0 1

51 Ex. Folding of Biquad filter In 1 2 a 3 b 5 6 c 7 8 (S 2 2) d Out

52 T P adder adder = Ex. Folding of Biquad filter In (S 1 3) 1 2 a 3 b 5 6 c d (S 1 1) (S 1 2) (S 1 0) (S 2 0) (S 2 2) 1 = 1 Additions 7 8 (S 2 3) (S 2 1) Out Multiplication T P mult mult = = 2 2 S {,2,3,1 } S = { 5,8,6,7} 2 1 =

53 Folding of Biquad filter, N= F (U V) = Nw(e) - P u + v u F (1 2) = -3 F (1 5) = 0 F (1 6) = 2 F (1 7) = 7 F (1 8) = 5 F (3 1) = 0 F ( 2) = 0 F (5 3) = 0 F (6 ) = - F (7 3) = -3 F (8 ) = -3 receive In send (S 1 3) A delay between two edges can not be negative! 1 2 a 3 b 5 6 c d (S 1 1) (S 1 2) (S 1 0) (S 2 0) (S 2 2) 7 8 (S 2 3) (S 2 1) Out F ( U V ) < 0 Not Valid folding

54 Retiming: Folding of Biquad filter, In (S 1 3) N= 1 2 a 3 b 5 6 c d (S 1 1) (S 1 2) (S 1 0) (S 2 0) (S 2 2) Retiming Split and move delay 7 8 (S 2 3) (S 2 1) Out Feedforward cutset Pipelining

55 Folding of retimed Biquad filter In (S 1 3) 1 2 a 3 b 5 6 c d (S 1 1) (S 1 2) (S 1 0) (S 2 0) (S 2 2) 7 8 (S 2 3) (S 2 1) Out

56 Systematic way of: Retiming for Folding r(u) U ω(e) V r(v) If F (U V) is the folded delays of the edge U V for the retimed graph then F (U V) 0 Nw r (e) P U + v u 0 U ω r (e) V ω r (e) = ω(e) + r(v) - r(u) N(w(e) + r(v) r(u) ) - P U + v u 0 N(r(U) r(v)) Nw(e) - P U + v u r(u) r(v) F (U V) /N receive send r(u) r(v) F (U V) /N (floor since retiming values are integers) Then solve the the system of inequalities!

57 T P SP esign adder adder Folding of retimed Biquad filter, = 1 = 1 In Additions N= S {,2,3,1 } S = { 5,8,6,7} 2 1 = (S 1 3) 1 2 a 3 b 5 6 c d (S 1 1) (S 1 2) (S 1 0) (S 2 0) (S 2 2) 7 8 (S 2 3) (S 2 1) Out Multiplication T P mult mult = = 2 2

58 Folding of retimed Biquad filter, receive F (U V) = Nw(e) - P u + v u F (1 2) = (1) = 1 F (1 5) = (1) = 0 F (1 6) = (1) = 2 F (1 7) = (1) = 3 F (1 8) = (2) = 5 F (3 1) = (0) = 0 F ( 2) = (0) = 0 F (5 3) = (0) = 0 F (6 ) = (1) = 0 F (7 3) = (1) = 1 F (8 ) = (1) = 1 N= In F send (S 1 3) Out 1 a b Valid folding ( U V ) c 0 d (S 1 1) (S 1 2) (S 1 0) (S 2 0) (S 2 2) 7 8 (S 2 3) (S 2 1)

59 Folding of retimed Biquad filter, receive F (U V) = Nw(e) - P u + v u F (1 2) = (1) = 1 F (1 5) = (1) = 0 F (1 6) = (1) = 2 F (1 7) = (1) = 3 F (1 8) = (2) = 5 F (3 1) = (0) = 0 F ( 2) = (0) = 0 F (5 3) = (0) = 0 F (6 ) = (1) = 0 F (7 3) = (1) = 1 F (8 ) = (1) = 1 N= In F send (S 1 3) Out 1 a b Valid folding ( U V ) c 0 d (S 1 1) (S 1 2) (S 1 0) (S 2 0) (S 2 2) 7 8 P adder (S 2 3) (S 2 1) =1

60 Folding of retimed Biquad filter, N= F (U V) = Nw(e) - P u + v u 5 delays S 1 = Additions S 2 = {,2,3,1 } Multiplication F (1 8) = (2) = 5 path from add to mult with 5 Node 8 has folding order 1 switch close at 1 { 5,8,6,7}

61 Folding of retimed Biquad filter S 1 = Additions {,2,3,1 } Multiplication S 2 = F (3 1) = (0) = 0 path from add to add with 0 Node 1 has folding order 3 switch close at 3 Node 1 is also connected to the input { 5,8,6,7}

62 Folding of retimed Biquad filter S 1 = Additions {,2,3,1 } Multiplication S = 2 Execution of node 2 (input from node 1 and ) : F (1 2) = (1) = 1 path from add to add with 1 Node 2 has folding order 1 switch close at 1 { 5,8,6,7} F ( 2) = (0) = 0 path from add to add with 0

63 Folding & Register Minimization Chapter 6.3

64 Register/Storage Minimization Folding inserts register. Lifetime analysis is used for register minimization techniques in a SP hardware. A variable is live from the time it is produced until the time it is consumed. After that it is dead. Linear lifetime chart : Represents the lifetime of the variables in a linear fashion. Convention: a variable is not live during the clock cycle when it is produced but live during the clock cycle when it is consumed. One iteratiom 6 cc N=6

65 Register Minimization Max. number of live variables Min. number of registers Use previous iter. to avoid drawing lifetime chart over several iterations 2 live variables But 3 if several iterations 2 live variables in iteration

66 Register Minimization Max. number of live variables Min. number of registers 6cc 6cc 2 live variables But 3 if several iterations 2 live variables in iteration

67 SP esign Example of a systematic way of working with lifetime charts 3x3 Matrix Transpose i h g f e d c b a i f c h e b g d a Matrix Transposer i h g f e d c b a i f c h e b g d a One iteration = 9 clock cycles

68 Lifetime Table - 3x3 Matrix Transpose i h g f e d c b a Matrix Transposer Sample T in T zlout T diff T out Life a 0 0 b 1 3 c 2 6 d 3 1 e f 5 7 g 6 2 h 7 5 i 8 8 Out before In -2 i f c h e b g d a

69 Lifetime Table - 3x3 Matrix Transpose i h g f e d c b a Matrix Transposer i f c h e b g d a Sample T in T zlout T diff T out Life a b c 2 6 d e 0 f g h i T diff = T zlout T input, where T zlout = zero latency

70 3x3 Matrix Transpose Sample T in T zlout T diff T out Life a b c 2 6 d e 0 f g h i if T diff < 0 not causal add latency = T negative diffmax for all nodes 5

71 3x3 Matrix Transpose Sample T in T zlout T diff T out Life a b c d e f g h i if T diff < 0 not causal add latency T lat = T negative diffmax for all nodes T out = T zlout +T lat

72 Lifetime chart 3x3 Matrix Transpose Sampl e T in T zlout T diff T out Life a b c d e f g h i One iteration = 9 clock cycles cycle a b c d e f g h i #live Contribution from next iteration

73 Lifetime chart 3x3 Matrix Transpose Sampl e T in T zlout T diff T out Life a b c d e f g h i One iteration = 9 clock cycles cycle a b c d e f g h i #live = 3 +1= 2 +2= 1 +3= The total

74 One iteration = 9 clock cycles Lifetime chart cycle a b c d e f g h i #live Contribution from next iteration cycle a b c d e f g h i #live

75 Lifetime chart 3x3 Matrix Transpose Sampl e T in T zlout T diff T out Life a b c d e f g h i max #live = registers x x x x

76 Circular lifetime chart Useful to represent the periodic nature of the SP programs. 0 (N-1) pies Number in parantheses represents the number of live variables at each time instance

DSP Design Lecture 5. Dr. Fredrik Edman.

DSP Design Lecture 5. Dr. Fredrik Edman. SP esign SP esign Lecture 5 Retiming r. Fredrik Edman fredrik.edman@eit.lth.se Fredrik Edman, ept. of Electrical and Information Technology, Lund University, Sweden-www.eit.lth.se SP esign Repetition Critical

More information

VLSI Signal Processing

VLSI Signal Processing VLSI Signal Processing Lecture 1 Pipelining & Retiming ADSP Lecture1 - Pipelining & Retiming (cwliu@twins.ee.nctu.edu.tw) 1-1 Introduction DSP System Real time requirement Data driven synchronized by data

More information

L15: Custom and ASIC VLSI Integration

L15: Custom and ASIC VLSI Integration L15: Custom and ASIC VLSI Integration Average Cost of one transistor 10 1 0.1 0.01 0.001 0.0001 0.00001 $ 0.000001 Gordon Moore, Keynote Presentation at ISSCC 2003 0.0000001 '68 '70 '72 '74 '76 '78 '80

More information

Pipelining and Parallel Processing

Pipelining and Parallel Processing Pipelining and Parallel Processing Pipelining ---reduction in the critical path increase the clock speed, or reduce power consumption at same speed Parallel Processing ---multiple outputs are computed

More information

Retiming. delay elements in a circuit without affecting the input/output characteristics of the circuit.

Retiming. delay elements in a circuit without affecting the input/output characteristics of the circuit. Chapter Retiming NCU EE -- SP VLSI esign. Chap. Tsung-Han Tsai 1 Retiming & A transformation techniques used to change the locations of delay elements in a circuit without affecting the input/output characteristics

More information

Professor Fearing EECS150/Problem Set Solution Fall 2013 Due at 10 am, Thu. Oct. 3 (homework box under stairs)

Professor Fearing EECS150/Problem Set Solution Fall 2013 Due at 10 am, Thu. Oct. 3 (homework box under stairs) Professor Fearing EECS50/Problem Set Solution Fall 203 Due at 0 am, Thu. Oct. 3 (homework box under stairs). (25 pts) List Processor Timing. The list processor as discussed in lecture is described in RT

More information

Numbering Systems. Computational Platforms. Scaling and Round-off Noise. Special Purpose. here that is dedicated architecture

Numbering Systems. Computational Platforms. Scaling and Round-off Noise. Special Purpose. here that is dedicated architecture Computational Platforms Numbering Systems Basic Building Blocks Scaling and Round-off Noise Computational Platforms Viktor Öwall viktor.owall@eit.lth.seowall@eit lth Standard Processors or Special Purpose

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

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1 NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1 Multi-processor vs. Multi-computer architecture µp vs. DSP RISC vs. DSP RISC Reduced-instruction-set Register-to-register operation Higher throughput by using

More information

COVER SHEET: Problem#: Points

COVER SHEET: Problem#: Points EEL 4712 Midterm 3 Spring 2017 VERSION 1 Name: UFID: Sign here to give permission for your test to be returned in class, where others might see your score: IMPORTANT: Please be neat and write (or draw)

More information

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec 09 Counters Outline.

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec 09 Counters Outline. Review: esigning with FSM EECS 150 - Components and esign Techniques for igital Systems Lec 09 Counters 9-28-0 avid Culler Electrical Engineering and Computer Sciences University of California, Berkeley

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

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

2D Critical path = 6. Retiming moving delays. Retiming - Pipelining. Delays can be moved from ALL inputs to ALL outputs

2D Critical path = 6. Retiming moving delays. Retiming - Pipelining. Delays can be moved from ALL inputs to ALL outputs SP esgn SP esgn Retmng movng delays Retmng elays can be moved from LL nputs to LL outputs Reduce Crtcal Path faster reduced power consumpton Reduced number of Regster Vktor Öwall, ept. of Electrcal and

More information

Chapter 8. Low-Power VLSI Design Methodology

Chapter 8. Low-Power VLSI Design Methodology VLSI Design hapter 8 Low-Power VLSI Design Methodology Jin-Fu Li hapter 8 Low-Power VLSI Design Methodology Introduction Low-Power Gate-Level Design Low-Power Architecture-Level Design Algorithmic-Level

More information

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary

EECS150 - Digital Design Lecture 11 - Shifters & Counters. Register Summary EECS50 - Digital Design Lecture - Shifters & Counters February 24, 2003 John Wawrzynek Spring 2005 EECS50 - Lec-counters Page Register Summary All registers (this semester) based on Flip-flops: q 3 q 2

More information

Adders allow computers to add numbers 2-bit ripple-carry adder

Adders allow computers to add numbers 2-bit ripple-carry adder Lecture 12 Logistics HW was due yesterday HW5 was out yesterday (due next Wednesday) Feedback: thank you! Things to work on: ig picture, ook chapters, Exam comments Last lecture dders Today Clarification

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

Enrico Nardelli Logic Circuits and Computer Architecture

Enrico Nardelli Logic Circuits and Computer Architecture Enrico Nardelli Logic Circuits and Computer Architecture Appendix B The design of VS0: a very simple CPU Rev. 1.4 (2009-10) by Enrico Nardelli B - 1 Instruction set Just 4 instructions LOAD M - Copy into

More information

Chaper 4: Retiming (Tái định thì) GV: Hoàng Trang

Chaper 4: Retiming (Tái định thì) GV: Hoàng Trang ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN KỸ THUẬT ĐIỆN TỬ XỬ LÝ TÍN HiỆU SỐ VỚI FPGA Chaper 4: Retiming (Tái định thì) GV: Hoàng Trang Email: hoangtrang@hcmut.edu.vn

More information

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010

Introduction EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 6: Sequential Logic 3 Registers & Counters 5/9/2010 EE 224: INTROUCTION TO IGITAL CIRCUITS & COMPUTER ESIGN Lecture 6: Sequential Logic 3 Registers & Counters 05/10/2010 Avinash Kodi, kodi@ohio.edu Introduction 2 A Flip-Flop stores one bit of information

More information

Special Nodes for Interface

Special Nodes for Interface fi fi Special Nodes for Interface SW on processors Chip-level HW Board-level HW fi fi C code VHDL VHDL code retargetable compilation high-level synthesis SW costs HW costs partitioning (solve ILP) cluster

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 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

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

Mark Redekopp, All rights reserved. Lecture 1 Slides. Intro Number Systems Logic Functions

Mark Redekopp, All rights reserved. Lecture 1 Slides. Intro Number Systems Logic Functions Lecture Slides Intro Number Systems Logic Functions EE 0 in Context EE 0 EE 20L Logic Design Fundamentals Logic Design, CAD Tools, Lab tools, Project EE 357 EE 457 Computer Architecture Using the logic

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

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10)

ELEC Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) ELEC 2200-002 Digital Logic Circuits Fall 2014 Sequential Circuits (Chapter 6) Finite State Machines (Ch. 7-10) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering

More information

EE141- Spring 2007 Digital Integrated Circuits

EE141- Spring 2007 Digital Integrated Circuits EE141- Spring 27 igital Integrated Circuits Lecture 19 Sequential Circuits 1 Administrative Stuff Project Ph. 2 due Tu. 5pm 24 Cory box + email ee141- project@bwrc.eecs.berkeley.edu Hw 8 Posts this Fr.,

More information

DSP Design Lecture 2. Fredrik Edman.

DSP Design Lecture 2. Fredrik Edman. DSP Design Lecture Number representation, scaling, quantization and round-off Noise Fredrik Edman fredrik.edman@eit.lth.se Representation of Numbers Numbers is a way to use symbols to describe and model

More information

Performance, Power & Energy. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So

Performance, Power & Energy. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So Performance, Power & Energy ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So Recall: Goal of this class Performance Reconfiguration Power/ Energy H. So, Sp10 Lecture 3 - ELEC8106/6102 2 PERFORMANCE EVALUATION

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

Pipelining and Parallel Processing

Pipelining and Parallel Processing Pipelining and Parallel Processing ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 010 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Outlines

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

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

Discrete-Time Systems

Discrete-Time Systems FIR Filters With this chapter we turn to systems as opposed to signals. The systems discussed in this chapter are finite impulse response (FIR) digital filters. The term digital filter arises because these

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

CSE 140 Lecture 11 Standard Combinational Modules. CK Cheng and Diba Mirza CSE Dept. UC San Diego

CSE 140 Lecture 11 Standard Combinational Modules. CK Cheng and Diba Mirza CSE Dept. UC San Diego CSE 4 Lecture Standard Combinational Modules CK Cheng and Diba Mirza CSE Dept. UC San Diego Part III - Standard Combinational Modules (Harris: 2.8, 5) Signal Transport Decoder: Decode address Encoder:

More information

Design at the Register Transfer Level

Design at the Register Transfer Level Week-7 Design at the Register Transfer Level Algorithmic State Machines Algorithmic State Machine (ASM) q Our design methodologies do not scale well to real-world problems. q 232 - Logic Design / Algorithmic

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

EECS150 - Digital Design Lecture 25 Shifters and Counters. Recap

EECS150 - Digital Design Lecture 25 Shifters and Counters. Recap EECS150 - Digital Design Lecture 25 Shifters and Counters Nov. 21, 2013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John

More information

Loop Scheduling and Software Pipelining \course\cpeg421-08s\topic-7.ppt 1

Loop Scheduling and Software Pipelining \course\cpeg421-08s\topic-7.ppt 1 Loop Scheduling and Software Pipelining 2008-04-24 \course\cpeg421-08s\topic-7.ppt 1 Reading List Slides: Topic 7 and 7a Other papers as assigned in class or homework: 2008-04-24 \course\cpeg421-08s\topic-7.ppt

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

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

VLSI System Design Part V : High-Level Synthesis(2) Oct Feb.2007

VLSI System Design Part V : High-Level Synthesis(2) Oct Feb.2007 VLSI System Design Part V : High-Level Synthesis(2) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

ECE 5775 (Fall 17) High-Level Digital Design Automation. Scheduling: Exact Methods

ECE 5775 (Fall 17) High-Level Digital Design Automation. Scheduling: Exact Methods ECE 5775 (Fall 17) High-Level Digital Design Automation Scheduling: Exact Methods Announcements Sign up for the first student-led discussions today One slot remaining Presenters for the 1st session will

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

EE241 - Spring 2000 Advanced Digital Integrated Circuits. References

EE241 - Spring 2000 Advanced Digital Integrated Circuits. References EE241 - Spring 2000 Advanced Digital Integrated Circuits Lecture 26 Memory References Rabaey, Digital Integrated Circuits Memory Design and Evolution, VLSI Circuits Short Course, 1998.» Gillingham, Evolution

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

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

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

EECS 579: Logic and Fault Simulation. Simulation

EECS 579: Logic and Fault Simulation. Simulation EECS 579: Logic and Fault Simulation Simulation: Use of computer software models to verify correctness Fault Simulation: Use of simulation for fault analysis and ATPG Circuit description Input data for

More information

Combinational Logic Design Arithmetic Functions and Circuits

Combinational Logic Design Arithmetic Functions and Circuits Combinational Logic Design Arithmetic Functions and Circuits Overview Binary Addition Half Adder Full Adder Ripple Carry Adder Carry Look-ahead Adder Binary Subtraction Binary Subtractor Binary Adder-Subtractor

More information

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control Logic and Computer Design Fundamentals Chapter 8 Sequencing and Control Datapath and Control Datapath - performs data transfer and processing operations Control Unit - Determines enabling and sequencing

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

Serial Parallel Multiplier Design in Quantum-dot Cellular Automata

Serial Parallel Multiplier Design in Quantum-dot Cellular Automata Serial Parallel Multiplier Design in Quantum-dot Cellular Automata Heumpil Cho and Earl E. Swartzlander, Jr. Application Specific Processor Group Department of Electrical and Computer Engineering The University

More information

Successive Approximation ADCs

Successive Approximation ADCs Department of Electrical and Computer Engineering Successive Approximation ADCs Vishal Saxena Vishal Saxena -1- Successive Approximation ADC Vishal Saxena -2- Data Converter Architectures Resolution [Bits]

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

EECS150 - Digital Design Lecture 16 Counters. Announcements

EECS150 - Digital Design Lecture 16 Counters. Announcements EECS150 - Digital Design Lecture 16 Counters October 20, 2011 Elad Alon Electrical Engineering and Computer Sciences University of California, Berkeley http://www-inst.eecs.berkeley.edu/~cs150 Fall 2011

More information

A HIGH-SPEED PROCESSOR FOR RECTANGULAR-TO-POLAR CONVERSION WITH APPLICATIONS IN DIGITAL COMMUNICATIONS *

A HIGH-SPEED PROCESSOR FOR RECTANGULAR-TO-POLAR CONVERSION WITH APPLICATIONS IN DIGITAL COMMUNICATIONS * Copyright IEEE 999: Published in the Proceedings of Globecom 999, Rio de Janeiro, Dec 5-9, 999 A HIGH-SPEED PROCESSOR FOR RECTAGULAR-TO-POLAR COVERSIO WITH APPLICATIOS I DIGITAL COMMUICATIOS * Dengwei

More information

Logic BIST. Sungho Kang Yonsei University

Logic BIST. Sungho Kang Yonsei University Logic BIST Sungho Kang Yonsei University Outline Introduction Basics Issues Weighted Random Pattern Generation BIST Architectures Deterministic BIST Conclusion 2 Built In Self Test Test/ Normal Input Pattern

More information

CMP N 301 Computer Architecture. Appendix C

CMP N 301 Computer Architecture. Appendix C CMP N 301 Computer Architecture Appendix C Outline Introduction Pipelining Hazards Pipelining Implementation Exception Handling Advanced Issues (Dynamic Scheduling, Out of order Issue, Superscalar, etc)

More information

School of EECS Seoul National University

School of EECS Seoul National University 4!4 07$ 8902808 3 School of EECS Seoul National University Introduction Low power design 3974/:.9 43 Increasing demand on performance and integrity of VLSI circuits Popularity of portable devices Low power

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

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

State and Finite State Machines

State and Finite State Machines State and Finite State Machines See P&H Appendix C.7. C.8, C.10, C.11 Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Big Picture: Building a Processor memory inst register

More information

Datapath Component Tradeoffs

Datapath Component Tradeoffs Datapath Component Tradeoffs Faster Adders Previously we studied the ripple-carry adder. This design isn t feasible for larger adders due to the ripple delay. ʽ There are several methods that we could

More information

Digital Integrated Circuits A Design Perspective

Digital Integrated Circuits A Design Perspective igital Integrated Circuits A esign Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic esigning Sequential Logic Circuits November 2002 Naming Conventions In our text: a latch is level sensitive

More information

Chapter 5. Digital systems. 5.1 Boolean algebra Negation, conjunction and disjunction

Chapter 5. Digital systems. 5.1 Boolean algebra Negation, conjunction and disjunction Chapter 5 igital systems digital system is any machine that processes information encoded in the form of digits. Modern digital systems use binary digits, encoded as voltage levels. Two voltage levels,

More information

Performance, Power & Energy

Performance, Power & Energy Recall: Goal of this class Performance, Power & Energy ELE8106/ELE6102 Performance Reconfiguration Power/ Energy Spring 2010 Hayden Kwok-Hay So H. So, Sp10 Lecture 3 - ELE8106/6102 2 What is good performance?

More information

CMPEN 411 VLSI Digital Circuits Spring Lecture 21: Shifters, Decoders, Muxes

CMPEN 411 VLSI Digital Circuits Spring Lecture 21: Shifters, Decoders, Muxes CMPEN 411 VLSI Digital Circuits Spring 2011 Lecture 21: Shifters, Decoders, Muxes [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp11 CMPEN

More information

Chapter 7. Synchronous Sequential Networks. Excitation for

Chapter 7. Synchronous Sequential Networks. Excitation for Chapter 7 Excitation for Synchronous Sequential Networks J. C. Huang, 2004 igital Logic esign 1 Structure of a clocked synchronous sequential network Mealy model of a clocked synchronous sequential network

More information

ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part A Combinational Logic Building Blocks

ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part A Combinational Logic Building Blocks ECE 545 Digital System Design with VHDL Lecture Digital Logic Refresher Part A Combinational Logic Building Blocks Lecture Roadmap Combinational Logic Basic Logic Review Basic Gates De Morgan s Law Combinational

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

ICS 233 Computer Architecture & Assembly Language

ICS 233 Computer Architecture & Assembly Language ICS 233 Computer Architecture & Assembly Language Assignment 6 Solution 1. Identify all of the RAW data dependencies in the following code. Which dependencies are data hazards that will be resolved by

More information

Processor Design & ALU Design

Processor Design & ALU Design 3/8/2 Processor Design A. Sahu CSE, IIT Guwahati Please be updated with http://jatinga.iitg.ernet.in/~asahu/c22/ Outline Components of CPU Register, Multiplexor, Decoder, / Adder, substractor, Varity of

More information

Lecture 11 FIR Filters

Lecture 11 FIR Filters Lecture 11 FIR Filters Fundamentals of Digital Signal Processing Spring, 2012 Wei-Ta Chu 2012/4/12 1 The Unit Impulse Sequence Any sequence can be represented in this way. The equation is true if k ranges

More information

Signal Flow Graphs. Roger Woods Programmable Systems Lab ECIT, Queen s University Belfast

Signal Flow Graphs. Roger Woods Programmable Systems Lab ECIT, Queen s University Belfast Signal Flow Graphs Roger Woods r.woods@qub.ac.uk Programmable Systems Lab ECIT, Queen s University Belfast (Slides 2-13 taken from Signal Flow Graphs and Data Flow Graphs chapter by Keshab K. Parhi and

More information

IMPERIAL COLLEGE OF SCIENCE, TECHNOLOGY AND MEDICINE UNIVERSITY OF LONDON DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING EXAMINATIONS 2005

IMPERIAL COLLEGE OF SCIENCE, TECHNOLOGY AND MEDICINE UNIVERSITY OF LONDON DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING EXAMINATIONS 2005 Paper Number(s): E2. IMPERIL OLLEGE OF SIENE, TEHNOLOGY ND MEDIINE UNIVERSITY OF LONDON DEPRTMENT OF ELETRIL ND ELETRONI ENGINEERING EXMINTIONS 2005 EEE/ISE PRT II: MEng, BEng and GI DIGITL ELETRONIS 2

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

CORDIC, Divider, Square Root

CORDIC, Divider, Square Root 4// EE6B: VLSI Signal Processing CORDIC, Divider, Square Root Prof. Dejan Marković ee6b@gmail.com Iterative algorithms CORDIC Division Square root Lecture Overview Topics covered include Algorithms and

More information

Digital Integrated Circuits A Design Perspective

Digital Integrated Circuits A Design Perspective igital Integrated Circuits A esign Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic esigning Sequential Logic Circuits November 2002 Sequential Logic Inputs Current State COMBINATIONAL LOGIC

More information

EEE2135 Digital Logic Design

EEE2135 Digital Logic Design EEE2135 Digital Logic Design Chapter 7. Sequential Circuits Design 서강대학교 전자공학과 1. Model of Sequential Circuits 1) Sequential vs. Combinational Circuits a. Sequential circuits: Outputs depend on both the

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

Integrated Circuits & Systems

Integrated Circuits & Systems Federal University of Santa Catarina Center for Technology Computer Science & Electronics Engineering Integrated Circuits & Systems INE 5442 Lecture 18 CMOS Sequential Circuits - 1 guntzel@inf.ufsc.br

More information

Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic. November Digital Integrated Circuits 2nd Sequential Circuits

Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic. November Digital Integrated Circuits 2nd Sequential Circuits igital Integrated Circuits A esign Perspective Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic esigning i Sequential Logic Circuits November 2002 Sequential Logic Inputs Current State COMBINATIONAL

More information

Chapter 7. Sequential Circuits Registers, Counters, RAM

Chapter 7. Sequential Circuits Registers, Counters, RAM Chapter 7. Sequential Circuits Registers, Counters, RAM Register - a group of binary storage elements suitable for holding binary info A group of FFs constitutes a register Commonly used as temporary storage

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

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

課程名稱 : 數位邏輯設計 P-1/ /6/11

課程名稱 : 數位邏輯設計 P-1/ /6/11 課程名稱 : 數位邏輯設計 P-1/55 2012/6/11 Textbook: Digital Design, 4 th. Edition M. Morris Mano and Michael D. Ciletti Prentice-Hall, Inc. 教師 : 蘇慶龍 INSTRUCTOR : CHING-LUNG SU E-mail: kevinsu@yuntech.edu.tw Chapter

More information

EECS150 - Digital Design Lecture 22 - Arithmetic Blocks, Part 1

EECS150 - Digital Design Lecture 22 - Arithmetic Blocks, Part 1 EECS150 - igital esign Lecture 22 - Arithmetic Blocks, Part 1 April 10, 2011 John Wawrzynek Spring 2011 EECS150 - Lec23-arith1 Page 1 Each cell: r i = a i XOR b i XOR c in Carry-ripple Adder Revisited

More information

EECS150 - Digital Design Lecture 23 - FSMs & Counters

EECS150 - Digital Design Lecture 23 - FSMs & Counters EECS150 - Digital Design Lecture 23 - FSMs & Counters April 8, 2010 John Wawrzynek Spring 2010 EECS150 - Lec22-counters Page 1 One-hot encoding of states. One FF per state. State Encoding Why one-hot encoding?

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

A VLSI DSP DESIGN AND IMPLEMENTATION O F ALL POLE LATTICE FILTER USING RETIMING METHODOLOGY

A VLSI DSP DESIGN AND IMPLEMENTATION O F ALL POLE LATTICE FILTER USING RETIMING METHODOLOGY A VLSI DSP DESIGN AND IMPLEMENTATION O F ALL POLE LATTICE FILTER USING RETIMING METHODOLOGY 1 PURU GUPTA & 2 TARUN KUMAR RAWAT Dept. of Electronics and Communication Engineering, Netaji Subhas Institute

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

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec09 Counters Outline.

Review: Designing with FSM. EECS Components and Design Techniques for Digital Systems. Lec09 Counters Outline. Review: Designing with FSM EECS 150 - Components and Design Techniques for Digital Systems Lec09 Counters 9-28-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley

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

Lecture 7: Logic design. Combinational logic circuits

Lecture 7: Logic design. Combinational logic circuits /24/28 Lecture 7: Logic design Binary digital circuits: Two voltage levels: and (ground and supply voltage) Built from transistors used as on/off switches Analog circuits not very suitable for generic

More information

Example: vending machine

Example: vending machine Example: vending machine Release item after 15 cents are deposited Single coin slot for dimes, nickels o change Reset Coin Sensor Vending Machine FSM Open Release Mechanism Clock Spring 2005 CSE370 - guest

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