Skip to content

Digital Calculator

Problem

Outside of calculator programs, classic hardware calculators are built on the transistor and gate-level design. To develop our understanding of these principles we designed and implemented a calculator into an FPGA board using a controller/datapath design and VHDL code.

Solution

My partner and I utilized a top-down design principle to break up the necessary parts of the calculator into core blocks. The blocks we designated were: UART serial communicator, ASCII converter, main controller, main datapath, math block, binary to BCD converter, and display. Each block was then designed, test-benched, and implemented into the FPGA board with debugging and ease-of-life modifications made along the way.

Our final product achieved the following functionalities:

  • Keyboard to FPGA board serial communication
  • The 4 fundamental mathematical operations (addition, subtraction, multiplication, and division)
  • Equation chaining
  • Negative number computation
  • Equation state LED notifications
  • Overflow handling
  • Operand checks

Final Report