Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>IceStick FPGA DevelopmentNew to Visual Studio Code? Get it now.
IceStick FPGA Development

IceStick FPGA Development

Kaan Ergun

|
16 installs
| (0) | Free
Complete FPGA development environment for IceStick with Docker integration
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

IceStick FPGA Development Extension

A comprehensive VS Code extension for FPGA development using the IceStick board with Docker-based toolchain integration.

Features

🚀 Project Management

  • Create New FPGA Project: Automatically generates project structure with VHDL/Verilog templates
  • Integrated Build System: One-click building with Docker-based toolchain
  • FPGA Programming: Direct programming support with iceprog

🐳 Docker Integration

  • Automatic Docker Setup: Pull and configure the FPGA toolchain Docker image
  • Status Monitoring: Real-time Docker status in the status bar
  • Seamless Tool Integration: Yosys, nextpnr, and IceStorm tools via Docker

📝 Code Templates & Snippets

  • VHDL Snippets: Entity, architecture, process, and PLL templates
  • Verilog Snippets: Module, always block, and PLL templates
  • Smart Templates: Pre-configured for IceStick board specifications

🔧 Build & Programming

  • Make Integration: Build, clean, and program commands
  • Progress Tracking: Real-time build progress notifications
  • Error Handling: Clear error messages and debugging support

Commands

Access these commands via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

  • IceStick: Create New FPGA Project - Create a new FPGA project with templates
  • IceStick: Build Project - Build the current project
  • IceStick: Program FPGA - Program the FPGA with the built bitstream
  • IceStick: Clean Build - Clean build artifacts
  • IceStick: Setup Docker Environment - Download and setup Docker toolchain
  • IceStick: Check Docker Status - Verify Docker environment status

Requirements

  • Docker: Required for the FPGA toolchain
  • VS Code: Version 1.74.0 or higher
  • IceStick FPGA Board: Lattice iCE40 HX1K development board

Installation

  1. Install the extension from the VS Code marketplace
  2. Open VS Code in your workspace folder
  3. Run IceStick: Setup Docker Environment to download the toolchain
  4. Create your first project with IceStick: Create New FPGA Project

Project Structure

The extension creates projects with the following structure:

project_name/
├── bin/                    # Build outputs
├── docs/                   # Documentation
├── sim/                    # Simulation files
│   ├── testbenches/
│   └── waveforms/
├── src/                    # Source files
│   ├── const/             # Constraint files (.pcf)
│   ├── verilog/           # Verilog sources
│   └── vhdl/              # VHDL sources
└── Makefile               # Build configuration

Configuration

Configure the extension in VS Code settings:

  • icestick.dockerImage: Docker image name (default: alpha-nerds-icestick-env)
  • icestick.dockerHubImage: Docker Hub image name (default: kaanergun/alpha-nerds-icestick-env)
  • icestick.defaultDevice: FPGA device package (default: hx1k-stick)
  • icestick.useHostTools: Use host tools instead of Docker when available

Docker Toolchain

The extension uses a Docker container with:

  • IceStorm: Open source toolchain for Lattice iCE40 FPGAs
  • Yosys: Synthesis tool
  • nextpnr: Place and route tool
  • GHDL: VHDL simulator and analyzer

Usage

  1. Create a Project: Use the command palette to create a new FPGA project
  2. Edit Your Design: Modify the generated VHDL/Verilog files
  3. Configure Pins: Edit the .pcf file to define pin mappings
  4. Build: Use IceStick: Build Project to synthesize your design
  5. Program: Use IceStick: Program FPGA to upload to your board

Troubleshooting

Docker Issues

  • Ensure Docker is installed and running
  • Run IceStick: Setup Docker Environment to download the toolchain
  • Check Docker status in the status bar

Build Errors

  • Verify your VHDL/Verilog syntax
  • Check pin constraints in the .pcf file
  • Review build output in the VS Code terminal

Programming Issues

  • Ensure the IceStick board is connected via USB
  • Check USB permissions (Linux/macOS may require sudo)
  • Verify the board is detected with lsusb (Linux) or System Information (macOS)

Contributing

This extension is part of the IceStick FPGA development ecosystem. Contributions are welcome!

License

MIT License - see LICENSE file for details.

Support

For issues and questions:

  • Check the troubleshooting section above
  • Review the Docker toolchain documentation
  • Submit issues on the project repository
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft