Project Description

I wanted to understand how calculators work and the hardware in them. I gave myself the challenge of creating a 64 functions. The types of functions are Basic Math, Logic, Reduction, Bitwise, and more. The functions are similar to the AVR commands for Assembly code. I was able to study and learn from the AVR command sheets. I also can use a memory, seven segment display and Pmod switchs on the Basys 3 Board. I was able to save memory to the Registers and Flip-Flops on the Basys 3 Board. I really liked this project and all that I was able to learn.

Materials

Inputs and Outputs

Technology List

Function Selectors

This will allow the user to select what type of function will be performed.

Display

This will only show the user the resulting value.

Circuit Power, Schematic and Implemented Design


Module Selections

Function Selections

Functional

Relational

Logical

Operational/Sequental

Oscilliscope Readings

Peer Reviews

Peer 1: Chase Busacker

Peer 2: Jonathon Chacon

Conclusions

In this project I was able to create multiple functions. I created the needed registers and flip-flops to store the correct value. I was also able to display the results from the functions on the 7-segment display. I got my multifunction calculator to also perform the functions at the times the switches determined. I was able to learn alot more about Digital Systems, FPGA and Verilog through the course of this project.

Useful Links Final Project Instructions   AVR Commands   Final Project Code   Demo Video