MikeyBoo / 8bit-Project

Using UPduino 3.0 to follow along with the book 'Designing Video Game Hardware In Verilog' by Steven Hugg

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My 8-bit Gaming Console

Instroduction

This is a personal project building an early 8-bit gaming console using the book Designing Video Game Hardware in Verilog by Steven Hugg, 8 bit workshop, using the open source tools apio and the Upduino version 3.0 by tinyvision.ai.

Setup

Requires Python

  pip install -U apio

To use apio to the fullest, add the following entry to your boards.json file found in Appdata->Local->Programs->Python->Python38->Lib->site-packages->apio->resources


  "upduino3": {
    "name": "UPduino v3.0",
    "fpga": "iCE40-UP5K-SG48",
    "programmer": {
      "type": "iceprog"
    },
    "usb": {
      "vid": "0403",
      "pid": "6014"
    },
    "ftdi": {
      "desc": "UPduino v3.0"
    }
  },

With apio now ready to go, you can use the commands apio verify, apio build and then apio upload

To program the UPduino 3.0, use Zadig that comes with apio via the command apio drivers --ftdi-enable to install appropriate USB driver.

notes

SB_HFOSC was not stable enough to drive the PLL. From my research online, this is common for many boards and the best practice is to use an external crystal oscillator. The Upduino 3.0 has a very stable crystal oscillator on pin 12M.

Makefile added that will use apio commands verify, build, upload, and then clean.

About

Using UPduino 3.0 to follow along with the book 'Designing Video Game Hardware In Verilog' by Steven Hugg


Languages

Language:Verilog 98.8%Language:SystemVerilog 0.9%Language:Makefile 0.3%