vsc-hdl is a Visual Studio Code (VSC) Extension to hopefully improve the UX of hardware designers writting modern VHDL (i.e. >=2008
) with (FOSS) EDA tools.
HDL - Projects
view/section is added to theExplorer
. The workspace is scanned for known HDL project definition files and a quick-access list is shown.-
VUnit
-
hdl-prj.json
-
HDL - Results
view/section is added to theExplorer
. The workspace is scanned for folders/files with known HDL test execution results files and a summary is shown.-
vunit_out
-
Tasks
view/section is added to thedockerView
contributed by the Docker extension for VSC.- Integrate with ghdl/ghdl-language-server.
- Integrate features to/from TerosTechnology/terosHDL.
- Symbolator
- Code coverage
- FSM
- Integrate ghdl's synthesis features.
- First, clone the repository:
git clone https://github.com/dbhi/vsc-hdl
cd vsc-hdl
- Optionally, a docker container can be used to avoid installing Node.js on the host. Then, use the Remote - Containers extension to attach VSC to the container, and open folder
/src
.
$(command -v winpty) docker run --rm -itv /$(pwd)://src -w //src node bash
- Last, but not least, have fun!
- Press
F5
to run the tests in a new window with your extension loaded. - See the output of the test result in the debug console.
- Make changes to
test/extension.test.ts
or create new test files inside thetest
folder. By convention, the test runner will only consider files matching the name pattern**.test.ts
. Note that it will find folders/files recursively.
- Understand how to write tests.
- VUnit/vunit#347
- microsoft/vscode#76891
- VSCode Extensions
- TerosHDL by Teros Technology
- VUnit Test Explorer by Henrik Bohlin
- VHDL LS by Henrik Bohlin
- GHDL Interface by Johannes Bonk
- HDL Checker LSP Client by suoto
- awesome-vhdl by puorc
- impulse.vscode
- VHDL-Tool (non open source)
- WaveTrace by wavetrace (non open source)
- hackfin.gitlab.io/xhdl
- code.visualstudio.com/api