TL;DR
A developer has created a scientific calculator hardware using a custom-designed nibble-oriented CPU in Verilog on an FPGA. The project includes microcode firmware, simulation, and testing tools, demonstrating a novel approach to hardware calculator design.
A developer has designed a fully functional scientific calculator using a custom nibble-oriented CPU written in Verilog, implemented on an FPGA platform. This project aims to demonstrate a hardware-based approach to complex calculations, integrating microcode firmware and supporting simulation tools, marking a significant step in hardware calculator design.
The project involves creating a soft CPU optimized for nibble (4-bit) data processing, tailored specifically for scientific calculations. The CPU, written in Verilog, is part of a larger FPGA-based system that includes microcode firmware, ALU components, and input/output interfaces. The developer has also developed simulation environments using Verilator, along with a command-line test harness for hardware verification. The FPGA synthesis process utilizes Quartus tools, and the project includes a Qt-based simulator and debugger for easier testing and development. The entire setup is designed to be accessible, with instructions for building and testing available in the project documentation.
Why It Matters
This development showcases a novel hardware approach to building scientific calculators, emphasizing custom CPU design at the nibble level. It demonstrates how FPGA-based hardware can be used for educational, experimental, or specialized computational purposes, potentially influencing future hardware calculator projects or embedded systems requiring precise control over data processing.

Arty A7: Artix-7 FPGA Development Board for Makers and Hobbyists (Arty A7-100T)
Arty A7 comes in two FPGA variants: Arty A7-35T features Xilinx XC7A35TICSG324-1L. Arty A7-100T features the larger Xilinx…
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Background
Traditional scientific calculators are typically built using dedicated ASICs or microcontrollers. This project diverges by implementing a custom CPU in Verilog, optimized for nibble processing, which is uncommon in general-purpose computing but relevant for hardware efficiency and educational purposes. The project builds on existing FPGA and HDL development practices, integrating microcode firmware for flexible operation. It follows recent trends in open hardware projects and FPGA-based computation, with the developer providing detailed build instructions and simulation tools.
“This project demonstrates how a custom nibble-oriented CPU can be used to build a scientific calculator entirely in hardware, providing a platform for experimentation and learning.”
— the developer
“Using a nibble-based CPU for a calculator is an innovative approach that could lead to more efficient hardware designs for specialized computing tasks.”
— an FPGA enthusiast

Verilog® Quickstart: A Practical Guide to Simulation and Synthesis in Verilog (The Springer International Series in Engineering and Computer Science Book 667)
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What Remains Unclear
It is not yet clear how the performance of this custom CPU compares to traditional microcontrollers or ASICs used in commercial calculators. Details about the microcode firmware’s capabilities, the accuracy of calculations, and the overall efficiency of the design are still emerging. Additionally, the developer has not announced plans for commercialization or wider deployment.

Texas Instruments TI-30XIIS Scientific Calculator – Teacher Kit (10 pack)
Texas Instruments TI30XIISTK Teacher 10 Pack
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What’s Next
Next steps include further testing and optimization of the CPU’s performance, expanding the microcode firmware to support more functions, and potentially integrating the design into a standalone FPGA-based calculator device. The developer may also release more detailed documentation or open-source the project for community collaboration.

FPGA Graphics Card CPU Circuit Board T-Shirt
A gift for children if they like to become electronics and program on the computer. The electrical technician…
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
What is a nibble-oriented CPU?
A nibble-oriented CPU processes data in 4-bit chunks, called nibbles, which can be advantageous for certain hardware applications like calculators or embedded systems where data size is small and efficiency is critical.
Why use Verilog for this project?
Verilog is a hardware description language widely used for FPGA and ASIC design, allowing precise control over hardware logic and facilitating simulation, synthesis, and testing of custom CPU architectures.
Can this hardware design be used in commercial calculators?
Currently, the project is experimental and intended for educational and research purposes. Commercial applications would require further development, testing, and optimization.
What tools are needed to build and test this project?
Developers need tools such as Verilator for simulation, Quartus for FPGA synthesis, ModelSim for waveform analysis, and Qt for the GUI and debugging. The project includes detailed build instructions for these tools.