Specs:

  • 16-bit QNICE CPU featuring 16 registers, 8 of them in 256 register banks
  • 32k words ROM (64kB)
  • 32k words RAM (64kB)
  • UART 115.200 baud, 8-N-1, CTS
  • VGA 80x40 character textmode display (640x480 resolution)
  • PS/2 keyboard support (mapped to USB)
  • SD Card and FAT32 support (microSD card)
  • 4-digit 7-segment display
  • 16 hardware toggle switches

Getting Started:

  • Before diving into the details, you might want to try the Online Emulator or work with the native offline 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 board, 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.
  • A step-by-step tutorial of how to get started is available in the README.md of our GitHub Repository.