Saturday, March 28, 2020

MiSTer - The MAME of FPGA Simulation Projects


MiSTer Fully Assembled (courtesy of MiSTer Github Wiki)
Why bother pricey FPGA simulation when there are so many excellent software emulators lying around?  The answer can be boiled down into one word : lag.  Lag is the most intractable problem with emulation and the most insidious.  Everything else, accuracy, ease of use, authenticity, a software emulator can accomplish.  But doing all that without added latency is a huge challenge and one which oftentimes cannot be met without some very expensive hardware.

An FPGA console is a modestly priced solution to lag.  FPGAs simulate original hardware at the logic level and can simulate multiple processes in parallel.  A software emulator must recreate a system alien to the hardware on which it is running and is essentially limited to processing multiple hardware events serially.  The most popular FPGA solution not made by Analogue is based on the DE-10 Nano FPGA development board.  This board is the key to the MiSTer project, a group of cores which simulate various video game consoles, computer systems and certain arcade machines under a common framework.  In this blog entry (or entries), I will dive into the world of MiSTer and discuss the aspects I like and dislike.