Retro x86 with 486Tang

Wait 5 sec.

Tang FPGA boards are affordable, and [nand2mario] has been trying to get an x86 core running on one for a while. Looks like it finally worked out, as there is an early version of the ao486 design on a Tang FPGA board using a Gowin device. That core’s available on the MiSTer platform, which emulates games using an Altera Cyclone device.Of course, porting something substantial between FPGA architectures is not trivial. In addition, [nand2mario] made some changes. The original core uses DDR3 memory, but for the Tang and the 486, SDRAM makes more sense. The only problem is that the Tang’s SDRAM is 16 bits wide, which would imply you need two cycles per 32-bit access. To mitigate this, the memory system runs at twice the main clock frequency. Of course, that’s kind of double data rate, but not in the same way as DDR memory.The MiSTer uses an ARM processor’s high-speed channel to link to the FPGA for disk access. The Tang board lacks a high-speed interface for this, so the disk storage is now on an SD card that the FPGA directly accesses. In addition, the first 128K of the SD card stores configuration settings that the FPGA now reads from that on boot up.One of the most interesting things about the development was the use of Verilator to simulate the entire system, including things like the VGA card. It was possible to simulate booting to a DOS prompt, although it was slower than being on actual hardware, as you might expect. But, this lets you poke at the entire state of the system in a way that would be difficult on the actual hardware.Want to give it a try? The Tang boards are cheap. (We have one on a shelf waiting for a future post.) Or, you could go the simulation route.MiSTer has really put FPGAs on a lot of people’s radar. If you prefer the C64, that’s available on a Tang board, too.