Services 服务
Courses 课程
Embedded System
Advanced Computer Architecture
Computer Architecture
Computer Organization

Computer System on FPGA


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

Operation System



Copyright Statement

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.