16 Bit Scientific Calculator on FPGA
FPGA
Project URL: https://github.com/rv2442/16BitScientificCalculator
16 Bit Scientific Calculator Using Xilinx ISE 14.7(Verilog) on Spartan 6 FPGA Dev Board
Intro
- A calculator's function is to do accurate calculations promptly. It is obvious that, to the greatest extent feasible, a calculator should free the user from the need to do mental calculations and rely on paper.
- Scientific calculators are extensively employed in circumstances where quick access to certain mathematical functions is required, particularly those that were previously looked up in mathematical tables, such as trigonometric functions and logarithms.
- They're also employed in astronomy, physics, and chemistry to calculate extremely large or extremely small values.
- For scientific computations a simple modern-day calculator cannot be used, here is when a Scientific Calculator comes into the picture. We are designing a scientific calculator using Verilog HDL.
What is an FPGA?
- Field Programmable Gate Arrays (FPGAs) are semiconductor devices that are based around a matrix of configurable logic blocks (CLBs) connected via programmable interconnects.
- FPGAs can be reprogrammed to desired application or functionality requirements after manufacturing.
- This feature distinguishes FPGAs from Application Specific Integrated Circuits (ASICs), which are custom manufactured for specific design tasks.
- Although one-time programmable (OTP) FPGAs are available, the dominant types are SRAM based which can be reprogrammed as the design evolves.
Transition Diagram
16 Bit Scientific Calculator
Cosine:
Cosine was Calculated for an angle of 40(in degrees) 'a' is the 16-bit output in decimal (up to 4 digits) 'select' 01101 is the select mode for Cosine
Division:
Division of 10000 by 3000 is performed which shows an output of 3.3333 'a' is the integer output of the division's Quotient 'b' is the decimal output of the division's Quotient 'select' 00011 is select the mode for division
Natural Logarithm:
Natural Log of 5 is performed and shows output 1.60 Output names are self-explanatory
4-Bit Arithmetic Calculator
The Development Board
Addition:
The addition of 2 4-bit numbers 12(1100) and 15(1111) is giving output 27(0001 1011)
Division
Floating point division of 2 4-bit numbers up to 2 decimals, 5(0101) and 3(0011) gives output 1.66 (5/3) LSB is 1(0000 0001) 4 LEDs on the Breadboard towards the left means 6(0110) 4 LEDs on the Breadboard towards the right means 6(0110)
REFERENCES:
COLLABORATORS: