Skip to content

smashembedded/icezum-digital-design

Repository files navigation

Smash Embedded

IceZUM Alhambra Digital Design Lab

License: GPL v3 GitHub stars

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.


What’s Inside?

  • 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.

About the IceZUM Alhambra

IceZUM Alhambra

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


Modules


Required Software Installation

Icarus Verilog

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

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

Quick Start

apio verify
apio sim
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`

Interface2

Interface1

Drivers Successfully Installed

  • Connect your FPGA board and upload the bitstream using Icestorm Tools
apio upload

Dependencies

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)

Contributing

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.


Community & Contact

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!


License

GPL-3.0 © Smash Embedded


Acknowledgements

About

Design of digital circuits on the FPGA Icezum Alhambra

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •