A real computer is consisted of many important parts, CPU, MEM, OS, APP, etc. To have a wide and deep aspect on the whole computer system, we are trying to build our own computer from scratch, including both hardware and software. From then on we can have a better point to start the architecture research, as we can change almost everything we can, to make the computer system smaller, faster, and more intelligent.
This project, “Computer System on FPGA”, is just a standard version of computer system, actually we can also build a system oriented on specific purpose, such as embedded system, real-time system, or even large-scaled computing system.
The project is running on an FPGA board, and is consisted of three main components:
Hardware: System-on-chip design using Verilog on Nexys3 FPGA
Software: Linux-like operating system and library
Simulator: Simulate the whole system using current PC, especially the hardware simulation
5-stage MIPS CPU. 54 instructions total, 50 of which are MIPS compatible.
Virtual address support. Using MMU and 2-level page strategy, hardware support.
Cache support. Separated instruction cache and data cache.
Wishbone Bus. Simple and easy for future expand.
Hardware Address Mapping
Boot Loader (hidden after boot)
0x0XXXXXXX: RAM
0xFXXXXXXX: IOs & Devices
4 Level Nest-able Interrupt
Reboot
Inner Exception
Outer Interrupt
System Call
This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.