Name: Date:

HW1 solution

(5 points) Write the 8-bit 2's complement form of -25.

11100111

(5 points) Write the hexadecimal form of 1337.

0x539

(10 points) Below is a truth table that implements 3vote. It has inputs A, B, C and output R. Design a digital logic circuit that implements the truth table. You may only use multi-input AND, OR, and NOT gates.

A B C R
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

Use sum-of-products to construct the equation:

$$ R = \overline{A}BC + A\overline{B}C + AB\overline{C} + ABC$$

This can be simplified to

$$ R = BC + AC + AB$$

The solution for the simplified equation uses three 2-input AND gates. The first has B,C, the second A,C, the third A,B. Each AND result is connected to a 3-input OR gate. This OR produces the final output R. solution

(15 points) Write a module in Verilog or a program in C that implements 3vote. You should choose types appropriate for the inputs and outputs.

int threevote(int a, int b, int c) {
  int r = (b&&c) || (a&&c) || (a&&b);
  return r;
}

or

module threevote(
  input a,
  input b,
  input c,
  output r);

  assign r = b&c | a&c | a&b;

endmodule