Write up of my homebrew CPU build
3 days ago
- #DIY-computer
- #electronics
- #hardware
- The author built a prototype of the WCPU-1 computer, encountering various hardware issues like backwards LEDs, floating address lines, and EEPROM glitches.
- Custom PCBs were ordered from PCBWay, including an EEPROM programmer board, a generic register board, and a control module board, each with their own design flaws and fixes.
- Real-world issues not present in simulations included clock signal quality, timing problems with registers and flags, and EEPROM glitches during address changes.
- RAM timing issues were resolved by gating the RAM write signal with the clock to prevent asynchronous chaos.
- The computer now runs at 1 MHz, is Turing complete, and can execute programs like Fibonacci sequences.
- The build used a messy wiring approach with solid core wires, which worked but is not recommended for beginners due to potential signal degradation.
- An Arduino Mega was used as a temporary ROM loader, but the author plans to replace it with a more permanent EEPROM-based solution.
- A custom toolchain was developed, including a microcode generator and an assembler (wcasm), to write and load programs onto the computer.
- Missing features include a proper output register, a halt instruction, power-on/reset functionality, and a better clock with debounced speed mode switches.
- Future plans include a final PCB design, moving to FPGA development for WCPU-2, and open-sourcing the project once it's more organized.