Design of digital circuits on the IceZUM Alhambra FPGA using Verilog. This repository offers a curated collection of practical modules (basic and intermediate) — perfect for beginners and tinkerers diving into the world of open-source FPGA development.
- Modular Verilog Examples — From basics to more complex logic blocks.
- Simulation & Synthesis Support — Using 100% open-source tools.
- Structured Projects — Clearly organized directories and modular testbenches.
- Educational Focus — Designed to help you learn-by-building.
- FTDI-based Upload Flow — Easily flash your designs with Apio.
The IceZUM Alhambra is an open-source FPGA development board designed with education and accessibility in mind. It is based on the Lattice iCE40HX1K and was created as part of the FPGAwars initiative, which aims to promote open hardware and digital design education.
If you're curious about the hardware design and background, check out the original project repository: FPGAwars / IceZUM-Alhambra
You can purchase the board here:
Buy the IceZUM Alhambra II
basic_logic_design
clock
combinational_logic_design
control
displays
pwm_generator
sensors
sequential_logic_design
Icarus is a free compiler implementation for the IEEE-1364 Verilog hardware description language. Download and install the next version iverilog-v12-20220611-x64_setup.
Apio is an open source ecosystem for open FPGA boards. Is a multiplatform toolbox, with static pre-built packages, project configuration tools and easy command interface to verify, synthesize, simulate and upload verilog dsigns.
pip install -U apio
apio install -all
- Check your verilog code using Icarus Verilog.
apio verify
- Simulate your test bench using Icarus Verilog and GTKWave
apio sim
- Syntesize your project using Icestorm Tools
apio build
- Enable FTDI drivers
apio drivers --ftdi-enable
Launch drivers configuration tool
FTDI driver installation:
Usage instructions
1. Connect the FTDI FPGA board
2. Select (Interface 0)
3. Replace driver by "libusbK"
4. Reconnect the board
5. Check `apio system --lsftdi`
- Connect your FPGA board and upload the bitstream using Icestorm Tools
apio upload
Make sure the following components are properly installed through Apio and your system's package manager:
Tool | Description |
---|---|
Apio CLI | FPGA workflow management |
Icestorm | open-source Lattice toolchain |
Icarus Verilog | Simulator & compiler |
GTKWave | Waveform viewer (optional) |
Contributions, bug reports, and feature suggestions are welcome. Feel free to open an issue or submit a pull request to improve the examples, fix bugs, or expand module coverage.
Got questions? We'd love to hear from you — whether it's a comment, a suggestion, a collaboration idea, or just a hello! Reach out at 📧 smashembedded@gmail.com or open a GitHub issue.
💬 Your support matters — not just through funding, but through thoughts, code, feedback, and creativity. ⭐ Star this repo and follow to stay connected and contribute in any way you can!
GPL-3.0 © Smash Embedded