QNICE-FPGA is a 16-bit computer system built as a fully-fledged System-on-a-Chip in portable VHDL on a FPGA. Everything - from the hardware design in VHDL to the toolchain (assembler and C) is Open Source, so you can start hacking right away.
Before diving into the details, you might want to get an overview of how the system looks and feels by trying our online emulator.
Currently, we are developing QNICE-FPGA using a Nexys 4 DDR FPGA development board. Nexys updated and renamed it to Nexys A7. We recommend using either the old Nexys 4 DDR board or the new Nexys A7 board, too, since this will greatly speed up things for you.
You need a Bash Shell and GCC or CC to work with our toolchain. macOS and Linux work out of the box. On Windows, you might want to install the Ubuntu Bash on Windows 10, or work with MinGW.
If you are using a Nexys 4 DDR, you are ready to go with the pre-synthesized Bitstream that is part of our GitHub repository.
If you would like to synthesize the hardware by yourself, then we recommend using the free Xilinx ISE WebPACK, all necessary files to work with ISE are already part of the GitHub respository. As the VHDL code is written in a portable way, feel free to synthesize with any other tool for any other FPGA.
If you are using a Mac, the optimal setup is running Xilinx ISE under Windows in Parallels and then working with the rest of the toolchain directly in the macOS Terminal. For connecting with the UART of QNICE-FPGA, we are recommending to use Serial.
sy2002: Creator and maintainer of QNICE-FPGA: hardware development (VHDL), FAT32 library, additional Monitor libraries and functions, Q-TRIS, additional QNICE specific vbcc toolchain.
Volker Barthelmann: vbcc compiler system, QNICE specific vbcc backend incl. standard C library.
David Brooks, designer of the Simplex-III homebrew computer, has founded the Homebrew CPUs Web Ring. To join, drop David a line,
mentioning your page's URL. He'll then add it to the list.
You will need to copy this code fragment into your page.