Tutorial


Prepare

1. Clone Frix project from GitHub
git clone https://github.com/archlabo/Frix.git
2. Get required modules from ao486 project
cd Frix && git submodule update --init
3. Apply our patch to ao486 modules
cd ao486
patch -pa < ../script/patch/ao486.patch

Build Project

Nexys4 / Nexys4 DDR

Nexys4 or Nexys4 DDR has Xilinx Artix-7 FPGA.
You can use Vivado software for logic synthesis.
We comfirmed our system, which is compiled on Vivado 2014.1-2, 2015.2-4 and 2016.2, can boot.
1. Open fpga/nexys4(_ddr)/project/project.xpr
2. Click Generate Bitstream for logic synthesis
3. After finishing logic synthesis, comfirm Frix.bit is created

DE2-115

DE2-115 has Altera Cyclone IV FPGA.
You can use Quartus II software for logic synthesis.
1.Open fpga/de2-115/project/project.qpf
2.Click Compile Design for logic synthesis
3.After finishing logic synthesis, comfirm project.sof is created

(micro)SD card

Nexys4 and Nexys4 DDR have each micro SD card slot, and DE2-115 has SD card slot. Store both BIOS image and disk image to SD card using dd command:
dd if=bios_vgabios.dat of=/dev/diskX bs=102400 seek=0
dd if=***.img of=/dev/diskX bs=102400 seek=512
Our example hdd image and bios_vgabios.dat is published in download page. You need to get our hdd image there or create new hdd image by yourself. If you want to create new hdd image, see 'Make Disk Image' section.

Hardware connection

Prepare following equipments and connect each other.
  • FPGA board (Nexys4/Nexys4 DDR/DE2-115)
  • Display (VGA port)
  • Keyboard (without USB hub)
  • (micro)SD card (Stored hdd image)
Some keyboards and displays don't work well at our system. Please try several types of them.

Run

1. Turn on power to all equipments
2. Program generated bit file to your FPGA
  • Nexys4/Nexys4 DDR: Expand Hardware Manager and click Program Device by Vivado
  • DE2-115: Open Device Manager from Quartus II
3. Congratulation! Frix system must be running!
  • FreeDOS:
    cd GAME/DOOMS
    DOOM
  • TinyCore:
    cd /mnt/sda1/app
    ./sl