YoWASP Toolchain for VS CodeRun Python, Yosys, nextpnr, openFPGALoader, ... in VS Code without installation. This extension runs the open source FPGA toolchain anywhere you can run VS Code. Windows, Linux, macOS, Chromebooks, corporate networks, even vscode.dev! Add it to VS Code, wait a few minutes, and get a bitstream; simple as that. Getting startedAfter adding the extension to VS Code, open workspace settings as JSON and add the commands you would like to run to build your design. For example, the demo above uses:
Then, invoke Technical detailsThis extension is a part of the YoWASP project, which provides WebAssembly-based builds of the open source FPGA toolchain for several platforms. The JavaScript packages are published under the In addition to the FPGA toolchain, this extension can also run Python code using Pyodide. Similarly to the FPGA tools, the extension itself does not include a Python implementation, but uses artifacts built by the Pyodide project and delivered by jsDelivr. This makes it possible to build designs implemented in the Amaranth language. Configuring deliveryFPGA toolchainBy default, this extension downloads the latest version of each tool (which can be up to 7 days out of date due to caching) from the jsDelivr network. This may not always be the preferred option (in particular, it means builds are not reproducible), so the exact versions and delivery endpoints are configurable. The default configuration is:
To require the use of a specific tool version, append To use the tool bundle provided at a specific URL, use an absolute URL as the bundle locator instead, e.g. To use a different CDN, change the base URL. Bundle locators that are not absolute URLs are appended to the base URL. Python languageThis extension supports the Python language thanks to the Pyodide project. Its version and delivery is configurable as well. The default configuration is:
Using a version other than the default one is not recommended because Pyodide does not have a stable API (yet). LicenseThe YoWASP extension is distributed under the terms of the ISC license. In addition, it includes a compiled Node extension that includes libusb and is thus subject to the LGPL; this is used only on desktop VS Code. The compiled extension binaries are copied directly from the usb package. |