3 ms·
Ten minutes in it looks like a great project walkthrough from design to physical device build. Good start for anyone interested in the guts of going from logic
by defrost 6mo ago
Ten minutes in it looks like a great project walkthrough from design to physical device build.
Good start for anyone interested in the guts of going from logic gates to math() primitives ( add, mult, tan, sin, etc ).
Two snippets from the lede, one from a chapter heading:
This is a scientific BCD calculator that uses binary-coded decimals, the same internal number format HP used in its scientific calculators going back to the 1970s. It represents every decimal digit as a 4-bit nibble, which means perfect decimal accuracy, no floating-point conversion errors, and an architecture that is genuinely shaped by the problem it solves.
Across ten chapters, you will follow full arc: the architectural decisions and tradeoffs, the numerical algorithms (addition, multiplication, CORDIC for trig, logarithms), the custom CPU design and its 12-bit instruction set, a hand-written two-pass assembler in Python, the microcode that runs on that CPU, a scripting layer for high-level key functions, and finally the physical board with its battery, display, and keyboard.
Chapter 6 (of 10):
No general-purpose CPU has nibble-addressable memory and addressing modes designed to walk a 16-digit BCD mantissa — so this post designs one.
I like it.
- musicale 6mo agoI like FPGA projects, but there is really nothing preventing you from implementing decimal arithmetic in software on a cheap microcontroller.