university of california college of engineering department...

4
UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Last modified on November 11, 2005 by Ke Lu ([email protected]) Dejan Markovic Homework #8 EECS141 Due Friday, November 18, 5pm Problem 1 – Activity Factor Consider the decimal counter shown below. The static logic block is a 4-bit binary incrementor. Its input is a 4-bit binary number IN<3:0>, where IN<3> represents the most significant bit of the input number. Its output is a 4-bit binary number OUT<3:0> that has a numeric value 1 greater than, unless the input is 9, in which case the output is 0. I.e., if the input is 5 (0101), the output will be 6 (0110). If the input is 9 (1001), the output is (0000). Register D<0:3> Q<0:3> Incrementor OUT<0:3> IN<0:3> CLK X<0:3> Y<0:3> 4 4 Register D<0:3> Q<0:3> Incrementor OUT<0:3> IN<0:3> CLK X<0:3> Y<0:3> 4 4 a) What are p 0 and p 1 , the probabilities of a 0 and of a 1, for each of the four bits X<0> through X<3>? Soln: X<0>: p 1 = Prob(X = 1, 3, 5, 7, or 9) = 0.5 (5 out of 10 cases), p 0 = 0.5 X<1>: p 1 = Prob(X = 2, 3, 6, or 7) = 0.4, p 0 = 0.6 X<2>: p 1 = Prob(X = 4, 5, 6, or 7) = 0.4, p 0 = 0.6 X<3>: p 1 = Prob(X = 8 or 9) = 0.2 , p 0 = 0.8 b) What are the activity factors α 0 through α 3 for each of the four bits X<0> through X<3>? Soln: Cannot use p 0 p 1 here because successive logic values are correlated with each other. Note that X follows the repeating pattern 0, 1, 2, …, 9, 0, 1, … and look at the soln’s to the previous part to count how many transisitions there are for each bit in one cycle. X<0>: 0 1 occurs every other cycle, α 0 = 0.5 X<1>: 0 1 occurs when X changes from 2-3, and from 5-6, or 2 times every 10 cycles, α 1 = 0.2 X<2>: 0 1 occurs when X changes from 3-4, or once every 10 cycles, α 2 = 0.1 1

Upload: others

Post on 17-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSITY OF CALIFORNIA College of Engineering Department ...bwrcs.eecs.berkeley.edu/.../hw08-f05-soln.pdf · X: p1 = Prob(X = 8 or 9) = 0.2 , p0 = 0.8 b) What are the activity

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Last modified on November 11, 2005 by Ke Lu ([email protected]) Dejan Markovic Homework #8 EECS141 Due Friday, November 18, 5pm Problem 1 – Activity Factor Consider the decimal counter shown below. The static logic block is a 4-bit binary incrementor. Its input is a 4-bit binary number IN<3:0>, where IN<3> represents the most significant bit of the input number. Its output is a 4-bit binary number OUT<3:0> that has a numeric value 1 greater than, unless the input is 9, in which case the output is 0. I.e., if the input is 5 (0101), the output will be 6 (0110). If the input is 9 (1001), the output is (0000).

Register

D<0:3>Q<0:3>

Incrementor

OUT<0:3>IN<0:3>

CLK

X<0:3>Y<0:3>

4

4

Register

D<0:3>Q<0:3>

Incrementor

OUT<0:3>IN<0:3>

CLK

X<0:3>Y<0:3>

4

4

a) What are p0 and p1, the probabilities of a 0 and of a 1, for each of the four bits X<0> through X<3>? Soln: X<0>: p1 = Prob(X = 1, 3, 5, 7, or 9) = 0.5 (5 out of 10 cases), p0 = 0.5 X<1>: p1 = Prob(X = 2, 3, 6, or 7) = 0.4, p0 = 0.6 X<2>: p1 = Prob(X = 4, 5, 6, or 7) = 0.4, p0 = 0.6 X<3>: p1 = Prob(X = 8 or 9) = 0.2 , p0 = 0.8 b) What are the activity factors α0 through α3 for each of the four bits X<0> through X<3>? Soln: Cannot use p0⋅p1 here because successive logic values are correlated with each other. Note that X follows the repeating pattern 0, 1, 2, …, 9, 0, 1, … and look at the soln’s to the previous part to count how many transisitions there are for each bit in one cycle. X<0>: 0 1 occurs every other cycle, α0 = 0.5 X<1>: 0 1 occurs when X changes from 2-3, and from 5-6, or 2 times every 10 cycles, α1 = 0.2 X<2>: 0 1 occurs when X changes from 3-4, or once every 10 cycles, α2 = 0.1

1

Page 2: UNIVERSITY OF CALIFORNIA College of Engineering Department ...bwrcs.eecs.berkeley.edu/.../hw08-f05-soln.pdf · X: p1 = Prob(X = 8 or 9) = 0.2 , p0 = 0.8 b) What are the activity

X<3>: 0 1 occurs when X changes from 7-8, or once every 10 cycles, α3 = 0.1 c) If the capacitance at each node for X is 5 fF, the capacitance at each node for Y is 4 fF, and the circuit is clocked at 250 MHz, what is the dynamic power consumption of this circuit? Ignore all other capacitances, assume there is no glitching, and VDD = 2.5 V. Soln: Note that X and Y nodes go through all of the same transitions, so just count their capacitances together. P = f⋅ΣCVDD

2αi = 250 MHz ⋅ 9 fF ⋅ 6.25 V2 ⋅ (0.5+0.2+0.1+0.1) = 12.7 µW d) In addition to the incrementor logic, you wish to add logic that detects when X<3:0> has a value 7. Recognizing that X<3:0> is never 15, this can be accomplished with a 3-input AND of bits <0> through <2>. If this is to be accomplished with only 2-input AND gates, which of the two choices below is preferable? Why?

X<0>

X<1>X<2>

X<1>

X<2>X<0>

Design A Design B Soln: Design B is better because it consumes less dynamic power. Note that the intermediate node in A is 1 when X = 3 or 7, and thus has an activity factor of 0.2 (2 0 1 transistions every 10 cycles). The intermediate node in B is 1 when X = 6 or 7, thus only has an activity factor of 0.1, leading to less dynamic power consumption. All other nodes have the same activity factors in both designs (assuming no glitching).

2

Page 3: UNIVERSITY OF CALIFORNIA College of Engineering Department ...bwrcs.eecs.berkeley.edu/.../hw08-f05-soln.pdf · X: p1 = Prob(X = 8 or 9) = 0.2 , p0 = 0.8 b) What are the activity

Problem #3

a) Show that the expression for S in Eq. 11.6 is equivalent to the one in Eq. 11.1

( )( )( )( ) ( )( )( )

( )( )

iiii

iiiii

iiii

iiiiii

iiii

CBACBACBAABC

CBACBACBACBAABC

CBABACBBACAABC

CBABACBAABCCBABACABABC

CBAACBCABABCS

+++=

=++++=

=++++++=

=+++++=++++=

=+++++=

b) Convince yourself that the circuit in Fig. 11.4 implements Eq. 11.6. Size the transistors such that

each stage (carry and sum) has the same pull-up/pull-down strength as a minimum-sized 2/1 inverter. Find the logical effort for each input (consider the carry and sum stages separately).

4

16/3

16/3

4

4

2

2

2

2 2

4

36/5

36/5

36/5

4

44

3

3

3

2

222

2

1

2

1

Logical effort: Carry Sum A 4.44 A 5.4 B 4.44 B 5.4 Ci 2 Ci

c) Now consider the mirror adder in Fig. 11.6. Make sure that you understand what it does. Size the transistors such that each stage (carry and sum) has the same pull-up/pull-down strength as a minimum-sized 2/1 inverter. Find the logical effort for each input (consider the carry and sum stages separately). How does it compare to the architecture in Fig. 11.4?

3

5.4

Page 4: UNIVERSITY OF CALIFORNIA College of Engineering Department ...bwrcs.eecs.berkeley.edu/.../hw08-f05-soln.pdf · X: p1 = Prob(X = 8 or 9) = 0.2 , p0 = 0.8 b) What are the activity

4

4

2

2

6

4

3

3

3

2

222

4

4 4 6

6

2 2

2

4 4

4

Logical effort: Carry Sum A 12/3 A 15/3 B 12/3 B 15/3 Ci 6/3 Ci 15/3 We can see that the mirror adder has lower logical effort for all inputs except Ci. However we should not forget the extra loading and delay of the additional inverters in the complementary architecture. When those are included the mirror adder wins overall.

4