Isle Dev Boards

Published 01 Aug 2025 (DRAFT)

In part 1 we're building graphics hardware for our computer, but before we get started we should consider dev boards. If you're new to the project, read Isle FPGA Computer for an introduction.

Isle currently targets three dev boards: Machdyne Lakritz, Digilent Nexys Video, and Radiona ULX3S (12F model unsupported). Isle also supports Verilator with SDL on your PC or Mac.

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
SD Card microSD microSD microSD
UART via Pmod FT232R FT231X
Pmods 1 4 4
Power USB-C 12V 3A PSU Micro-USB

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 include makefiles and build instructions for each board and simulator, so it should be straightforward to get started. 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 written a post on Verilog Simulation with Verilator and SDL including install instructions.

Expansion Boards

Isle's initial keyboard support is via UART. If your dev board includes a UART, you can use that. Otherwise you can use the Digilent UART Pmod (FT232R) or design your own if you enjoy building PCBs.

Porting

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. Block ram is important to the Isle design; ensure your FPGA has at least 100 KiB of true dual-port bram. Xilinx XC7 FPGAs need 25x36Kb and Lattice ECP5 50x18Kb. Dual-port bram lets us handle separate clock domains for the system and display.

Next step: Graphics or Isle Index

Lakritz dev board generating black and white dithered photograph of crocuses.
Lakritz dev board in 3D printed case 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.