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