Project 6: Signed Arithmetic Calculator with 2-digit display

You are not logged in.

Please Log In for full access to this page.

In the past few exercises, you learned how to build an accumulator, represent signed numbers using 2’s complement, detect overflow, and explore the basics of an ALU.
Now it’s time to bring everything together and build a signed two-digit calculator!

Every module in this course ends with a project. These projects focus less on introducing new ideas and more on applying what you have already learned in a complete working system.
You will still be guided, but you will need to reason carefully about how blocks connect and how signals flow.

If you ever feel stuck, remember to refer back to the Resources page for help!

INSERT VIDEO OF FINAL SIGNED CALCULATOR DEMONSTRATION HERE

1) Signed Arithmetic Recap

Before building the final calculator, let’s recall the major ideas behind signed arithmetic introduced in Exercise 6.2.

Using 2’s complement, we were able to:

  • Represent both positive and negative numbers
  • Perform subtraction using only adders
  • Observe wrap-around behavior when overflow occurs

In this project, your circuit must correctly handle:

  • Addition and subtraction
  • Negative results
  • Overflow behavior
  • Resetting the stored value

Which representation allows subtraction to be performed using only addition hardware?

2) ADD / SUB Selection

To allow the calculator to switch between addition and subtraction, one input of the adder is routed through a 2’s-complement generator and then selected using a multiplexer, first studied in Exercise 4.3.

When ADD is selected, the original input goes directly to the adder.
When SUB is selected, the complemented version is used instead.

INSERT BLOCK DIAGRAM OF ADD/SUB SELECTION HERE

What does the ADD/SUB control signal directly change in the circuit?

3) Overflow Behavior

Because the calculator works with a fixed number of bits, results that exceed the available range will wrap around, as explored in Exercise 6.2.

In this project, you should:

  • Push the accumulator past its maximum value
  • Observe the wrapped result
  • Compare what the hardware shows with the true mathematical answer

INSERT IMAGE OF OVERFLOW DEMONSTRATION HERE

How does the calculator behave when overflow occurs?

4) Two-Digit Display

Your signed result must be shown in decimal using the double-dabble conversion circuit introduced in Exercise 5.2 and two 7-segment displays.

This requires:

  • Feeding the accumulator output into the converter
  • Displaying both magnitude and sign
  • Resetting all registers simultaneously

INSERT DISPLAY INTERFACE BLOCK DIAGRAM HERE

5) Implementation

Time to actually build your signed calculator!

1. Insert the required ICs onto the breadboard.

2. Re-create the accumulator circuit from Exercise 6.1 and expand it to the required width.

3. Add the 2’s-complement generator to one adder input path.

4. Place multiplexers before the adder inputs and wire the ADD/SUB control switch.

5. Connect the accumulator outputs to the binary-to-decimal display logic.

6. Wire a global reset button so that all registers clear together.

7. Verify correct operation for:
   • positive + positive
   • positive − positive
   • negative + positive
   • overflow cases

8. Carefully re-check power rails and ground connections before testing.

Note:
Projects are designed to stretch your understanding. If the circuit does not work at first, isolate each block and test it individually before reconnecting the full system.

Upload a short video (10 seconds) showing your signed calculator working. Demonstrate addition, subtraction, negative results, overflow behavior, and a full reset.
 No file selected