One of my favorite computers was the Atari 800XL. I miss the relative simplicity and joys of figuring out what makes it tick.
In an attempt to recapture some of that, I have for some time been interested in building a single-board computer, perhaps 6502- or Z80- based, on a breadboard. However, I knew that this would be messy, complicated, error-prone, and slow both in terms of development and eventual processing capability. After receiving a CPLD development board from my Hackerboxes subscription, I toyed with the idea of offloading much of the complexity to a CPLD, but this never really went anywhere.
Then I received a Raspberry Pi-based PiDP-8/I kit as a gift. Of course it looks cool, but I wanted to be able to use it, and that meant researching how a PDP-8 actually works. A few things surprised me:
The next thing to happen was a two-part course from the Hebrew University of Jerusalem via Coursera, Build a Modern Computer From First Principles: From Nand to Tetris. This course covers building a very simple computer from basic logic gates in only 6 weeks. Some shortcuts were taken:
I don't have the means to work with raw FPGAs, so I needed a development board. One that seemed particularly attractive was the Logi-Pi from ValentF(x). It mounts on top of a Raspberry Pi on the bottom and can accept Arduino shields on top and Digilent Pmod Modules on the side.
The Raspberry Pi and Logi-Pi are connected via an SPI bus. This not only allows the Raspberry Pi to upload compiled designs to the FPGA, but also allows the Raspberry Pi to communicate with a design running on the Logi-Pi. However, the Xilinx ISE Design Suite necessary to compile designs for the Logi-Pi's Xilinx Spartan-6 lx9 FPGA, while available in free WebPack versions for Windows, Mac, and Linux, does not currently run on the Raspberry Pi.