Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>SynthesisDeckNew to Visual Studio Code? Get it now.
SynthesisDeck

SynthesisDeck

Kaan Ergun

|
36 installs
| (0) | Free
Open-source FPGA development toolchain for VS Code — build, simulate, and program designs across iCE40, ECP5, Gowin, Nexus, and MachXO2 FPGAs
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SynthesisDeck

Open-source FPGA development toolchain for VS Code

Build, simulate, and program FPGA designs without leaving the editor.
SynthesisDeck brings a complete open-source hardware workflow to VS Code — from writing HDL to flashing your board.

VS Code Marketplace Installs License


Highlights

  • One-click synthesis — Yosys → nextpnr → bitstream pack, no Makefiles needed
  • Docker-powered — No local toolchain install; everything runs inside a container
  • Multi-family — iCE40, ECP5, Gowin, Nexus, MachXO2
  • Mixed HDL — VHDL (2008), Verilog, SystemVerilog, or any combination
  • Board programming — Flash connected FPGAs directly from the editor
  • Build Progress Panel — Real-time cyberpunk-themed GUI for pipeline status
  • Project scaffolding — Templates with pre-configured constraints and example designs
  • Simulation — GHDL testbench execution from the command palette
  • PLL generation — Generate PLL configs for iCE40 with icepll

Supported Boards

Family Boards Programmer
iCE40 iCEstick · iCEBreaker · TinyFPGA BX · UPduino v3.1 iceprog / openFPGALoader
ECP5 ULX3S · OrangeCrab · Colorlight i5 openFPGALoader
Gowin Tang Nano 9K · Tang Nano 20K openFPGALoader
Nexus CrossLink-NX (experimental) openFPGALoader
MachXO2 MachXO2 boards (experimental) openFPGALoader

Quick Start

Prerequisites

Requirement Notes
Docker Desktop Install Docker — hosts the entire toolchain
VS Code ≥ 1.85 Required engine version

First Project

  1. Install SynthesisDeck from the Marketplace
  2. Open the Welcome page — Ctrl+Shift+P → SynthesisDeck: Welcome
  3. System diagnostics will check Docker, toolchain image, and programmer status
  4. Click New Project, pick a board, choose a template
  5. Hit Build & Program to synthesize and flash

Workspace Marker

SynthesisDeck activates when it finds a .synthesisdeck/ directory alongside your fpga-project.toml. New projects get this automatically; for existing projects the extension will prompt you to migrate.

Project Config

[project]
name = "my_project"

[target]
family = "ice40"
device = "hx1k"
package = "tq144"
board = "icestick"

[sources]
top = "top"
vhdl = ["src/*.vhdl"]

Commands

Command Description
Build Project Run full synthesis pipeline
Build & Program Build then flash the board
Build Stage… Run a specific pipeline stage
Program Board Flash bitstream to connected board
Run Simulation Run GHDL testbench simulation
Clean Build Remove build artifacts
New Project Create project from template
Generate PLL Generate PLL config (iCE40)
Select Board Change target board
Detect Board Detect USB-connected FPGA boards
Pull Docker Image Pull / update toolchain image
Open Project Config Open fpga-project.toml
Show Project Info Display project diagnostics
Setup Run guided setup
Welcome Open the welcome page

All commands are available via Ctrl+Shift+P (prefix: SynthesisDeck).


Settings

Setting Default Description
synthesisDeck.useDocker true Use Docker container for toolchain
synthesisDeck.docker.registry kaanergun/synthesis-deck Docker image name
synthesisDeck.docker.tag latest Docker image tag
synthesisDeck.programmer.tool auto Programmer (auto / iceprog / openFPGALoader)
synthesisDeck.programmer.path "" Custom programmer binary path
synthesisDeck.autoSaveBeforeBuild true Auto-save files before building
synthesisDeck.showBuildNotifications true Show build completion notifications
synthesisDeck.usb.autoDetect true Auto-detect connected boards via USB
synthesisDeck.usb.pollInterval 5000 USB detection poll interval (ms)
synthesisDeck.advancedMode false Show verbose output in the Output panel

Diagnostics

Built-in problem matchers surface errors directly in the Problems panel:

  • GHDL — VHDL errors with file, line, column
  • Yosys — Synthesis errors and warnings
  • nextpnr — Place-and-route errors

Click any error to jump to the source location.


Constraint Formats

Family Format Extension
iCE40 Physical Constraints File .pcf
ECP5 Lattice Preference File .lpf
Gowin Constraint File .cst

Platform Support

Platform Status
macOS (Intel & Apple Silicon) Supported
Linux (Ubuntu, Debian, Fedora, Arch) Supported
Windows (via Docker Desktop) Supported

Toolchain

SynthesisDeck integrates these open-source tools:

Tool Role
Yosys RTL synthesis
GHDL VHDL analysis & simulation
nextpnr Place and route
openFPGALoader Universal FPGA programmer
icestorm iCE40 bitstream tools

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft