Hasty Briefsbeta

Bilingual

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.