Homework 2
- For the following you may use only combinational circuits, and
you should build these from basic gates.
- For this exercise only, you may not use tk-gate's built in cpu,
memory, MUX, ADDER, or any other complex circuit.
- You may use your solution from one part in any other part.
- Please print your solution, make sure that you name is on it and
turn it in.
- Given the following truth table
- Derive a minimal equation to represent this table
- Prove that your equation is correct using truth tables or
boolean algebra.
- Implement your circuit in tk-gate and test it.
w | x | y | z | F |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 |
- Implement a four-bit ripple carry adder in tkgate. This should take
two four-bit numbers and a carry in as input and produce a four-bit
number and a cary out as output.
- Implement a 2->1 multiplexor, where the input and output lines are
four-bits wide. This multiplexor will have two four-bit data
input lines, one four-bit data output line, and a one-bit control
line.
- Design and implement a circuit to detect overflow in a 4-bit BCD
digit. This circuit should take four input bits (representing a BCD
digit) and produce a 1 if the BCD digit is greater than or equal to
10.
- Design a circuit to subtract 10 from a four-bit binary number. You
may use any circuits that you have designed above.
- Design a circuit to add two two digit numbers in BCD. These numbers
are both positive. You may (and should) use any circuits from above.