Emulation of x86 Computer on FPGA

Stepan Vyazigin, A. E. Dyusembaev, Мадина Мансурова · 2021

It is well known that, emulation in the form of software is the predominant method for engineers to evaluate the capabilities of the studied microprocessors and embedded systems. There are three main criteria for evaluating a model using software tools: modeling speed, model accuracy, and model completeness. The increasing complexity of the processor and the tendency to have an increasing number of processors on the chip put a strain on simulators to achieve all of the above criteria, including accurate fixation of processes in the OS. Thus, the main task in our work is experiments-prototyping using an emulation system and analysis of the results of the described experiments, which satisfies all three criteria. The system is a Board with FPGA, RAM, ROM, real-time clock, DAC chips, and connectors for connecting a monitor, keyboard, and mouse manipulator soldered on it. The system is based on the FPGA Cyclone IV from ALTERA. Which, thanks to a sufficient number of logical cells, allows you to simulate not only a single processor, but also other components of the computer as a whole. Therefore, you can apply architectural changes to the processor and evaluate their impact on the entire system. We use this FPGA-based emulation system to validate the computer's FPGA emulation capabilities. The paper justified the possibility of emulating a computer on an FPGA and its ability to run real operating systems that are not stripped down. The novelty of this project is that unlike other similar projects, the system developed by us allows you to emulate a full-fledged personal computer with an x86 processor architecture, on the basis of which you can emulate more modern computers with processors. For example: Intel Atom or Intel Celeron. However, to achieve these goals, you will need to use a more developed FPGA, based on the methodology proposed in this paper.

Read the paper · More papers on PaperTik