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

SynthesisDeck

Kaan Ergun

|
92 installs
| (0) | Free
Open-source FPGA development toolchain for VS Code — build, simulate, and program designs across iCE40, ECP5, and Gowin 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
  • Zero-install native toolchain — the pinned oss-cad-suite downloads automatically on first build; no Docker, no manual installs
  • Multi-family — iCE40, ECP5, and Gowin (9 board presets)
  • 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

Quick Start

Prerequisites

Requirement Notes
VS Code ≥ 1.85 Required engine version
~2 GB disk + internet The FPGA toolchain downloads automatically on first build

First Project

  1. Install SynthesisDeck from the Marketplace
  2. Open the Welcome page — Ctrl+Shift+P → SynthesisDeck: Welcome
  3. System diagnostics will check the FPGA toolchain 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
Visual Simulation Run a GHDL simulation and view results in an interactive board panel
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
Toggle Program Target (SRAM / Flash) Switch where the bitstream is written
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.toolchain.version 2026-06-14 Pinned oss-cad-suite release tag to download
synthesisDeck.toolchain.baseUrl https://payload.synthesisdeck.com Base URL for the toolchain download (point at another mirror to self-host)
synthesisDeck.toolchain.sha256 "" Optional SHA-256 to verify the downloaded toolchain tarball
synthesisDeck.toolchain.ghdlWindowsVersion 6.0.0 GHDL release fetched for VHDL support on native Windows
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 (native, Intel & Apple Silicon) Supported
Linux (native — Ubuntu, Debian, Fedora, Arch) Supported
Windows (native, x64 + ARM64 via emulation) Supported

VHDL on Windows uses a standalone GHDL downloaded alongside the suite. VHDL on linux-arm64 is not yet available (Verilog/SystemVerilog works).


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

SynthesisDeck bundles and downloads third-party open-source software (openFPGALoader, the oss-cad-suite toolchain, GHDL, libusb/libftdi1, …). See THIRD-PARTY-NOTICES.md for their licenses and sources.

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