Skip to content

Get Started

Your Day 0 checklist — everything you need before the first class session

Estimated time

30–45 minutes (depending on internet speed and platform)

End result

A working toolchain that can simulate, synthesize, and program the Go Board


Get the Hardware

You need one piece of hardware: the Nandland Go Board (Lattice iCE40 HX1K).

Nandland Go Board


Set Up Your Computer

The entire toolchain installs through a single command using Nix. No manual package installs, no version conflicts, no license servers.

# Prerequisites
sudo apt update && sudo apt install -y curl xz-utils

# USB permissions for the Go Board
sudo tee /etc/udev/rules.d/99-fpga-boards.rules > /dev/null << 'EOF'
ACTION=="add", ATTR{idVendor}=="0403", ATTR{idProduct}=="6010", MODE="0666"
EOF
sudo udevadm control --reload-rules && sudo udevadm trigger
# Prerequisites
xcode-select --install
# In PowerShell (as Administrator)
wsl --install
winget install usbipd

Then open Ubuntu from the Start menu and continue in that terminal.

# Inside WSL2
sudo apt update && sudo apt install -y curl xz-utils

Full platform details


Install Nix & Clone the Repo

# Install Nix (all platforms)
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

# Open a NEW terminal, then:
git clone https://github.com/ucf-draco-mike/hdl-for-dsd-student.git hdl-for-dsd
cd hdl-for-dsd
nix develop          # first run: ~5-15 min download; instant after that

Verify

yosys --version && nextpnr-ice40 --version && iverilog -V

All three should print version numbers without errors.


First Build

Plug in the Go Board via USB, then:

cd labs/week1_day01
make prog

If an LED lights up on the board — you're ready for Day 1.

You're set

If all five steps completed successfully, you have a fully working environment. Head to Day 1 → when the course begins.

Something broke?

Check the Troubleshooting section in the full setup guide, or ask in the course channel.


How This Site Works

Every day in this course has its own section with four resources:

Resource What it is When to use it
Pre-Class Video + Slides Recorded lecture segments Watch before class
Pre-Class Quiz Self-check questions with hidden answers After watching the video
Lab Guide Step-by-step exercises with starter code During class
Daily Plan Session timeline and instructor notes Reference / review

Use the Week tabs at the top of the page to navigate, or jump to any day from the Course Overview.

Full site guide