Isle Dev Boards

Published 01 Aug 2025, Updated 08 Feb 2026 (DRAFT)

Before starting development, we should consider FPGA dev boards. I want to make Isle as accessible as possible, which argues for supporting many dev boards. However, there is an obvious tension between supporting many boards and making progress on the project. I hope I've struck a reasonable balance by supporting three boards for now.

If you're new to the project, read Isle FPGA Computer for an introduction. See Isle Index for more pages.

As of early 2026, we target three dev boards: Machdyne Lakritz, Digilent Nexys Video, and Radiona ULX3S (12F model unsupported). Isle also runs as a graphical simulation using Verilator and SDL.

Dev Board Specs. Isle uses DVI but is compatible with HDMI displays.
  Lakritz Nexys Video ULX3S
FPGA ECP5 25F XC7A200T ECP5 25F+
Video DVI HDMI DVI
Audio 2 x 1-bit DAC I2C Codec 4-bit DAC
Memory 32M SDRAM 512M DDR3 32M SDRAM
Storage microSD microSD microSD
UART via Pmod FT232R FT231X
Pmods 1 4 4
Power USB-C 12V 3A PSU Micro-USB
Toolchain Yosys+nextpnr Vivado Yosys+nextpnr

Isle hardware is designed in straightforward Verilog. I develop for Xilinx XC7 with Vivado and Lattice ECP5 with Yosys+nextpnr. For testing, I use cocotb with Icarus Verilog. All these tools are either open source or free to download. I recommend being comfortable programming your dev board and at least a little familiar with Verilog before working on this project.

If you don't have a dev board you can use the Verilator simulator, which runs on Linux, Mac, and Windows. I make extensive use of Verilator when developing Isle because it provides fast turnaround and easy debugging.

I've included a Makefile, constraints, and build instructions for each board:

UART

Isle's initial keyboard support is via UART. For boards such as the Lakritz, which lack a UART, you can use the Digilent UART Pmod (FT232R) or design your own if you enjoy building PCBs.

Porting

When choosing an FPGA, consider available PLLs and block ram. Isle needs two PLLs to generate the separate system and pixel clocks. Block ram is important to the Isle design; ensure your FPGA has at least 112 KiB of true dual-port bram. Xilinx XC7 FPGAs need at least 28x36Kb and Lattice ECP5 56x18Kb. The smallest suitable FPGAs include the Lattice ECP5 LFE5U-25 and the Xilinx Spartan-7 XC7S25 and Artix-7 XC7A35T.

I keep architecture-specific FPGA blocks, such as I/O and PLLs clearly separate, so it should be straightforward to port Isle to other FPGA architectures. In the git repo, board-specific files live in isle/boards, while FPGA architecture-specific files live in isle/hardware/arch.

Next step: Graphics or Isle Index

Lakritz dev board generating black and white dithered photograph of crocuses.
Bitmap graphics on Lakritz driving widescreen display at 1366x768.

Disclosure: Machdyne supplied the Lakritz dev board. No conditions were attached to this board donation. I purchased the ULX3S and Nexys Video myself.