This is an extension that brings the DigitalJS digital logic simulator and the yosys2digitaljs netlist format converter to VS code. It provides similar functionalities as the online version while allowing you to work directly with local source files and saving your progress, including source information and the synthesized circuit, for future use. It also includes other additional features like undo-redo, exporting the circuit to images and more.
This was made possible by DigitalJS, yosys2digitaljs and many other related projects by Marek Materzok, University of Wrocław as well as the Yosys open-source hardware synthesis framework. This also borrows idea and code heavily from the original online version: DigitalJS Online.
Contributions are welcome!
-
Simulation of circuit (using DigitalJS) including support for
- Continuous simulation
- Single step
- Trigger
- Signal monitor and plotting.
-
Saving/backing up the circuit including the source file information in a portable format
(The relative paths of the source files are saved and so that the project can be fully restored on another machine as long as the source files are also packaged/copied with the project/circuit file)
The saved file can be loaded again using this extension, or in the online version for simulation.
-
Open the JSON circuit saved by the online version for simulation. Accepted extensions are either
.json
or.digitaljs
..digitaljs
will be openned by default using this extension. -
Exporting the synthesized circuit as vector (SVG) or raster images (PNG or JPEG).
-
Undo and redo all the changes on the circuit including but not limited to resynthesize of the circuit and edits done from the graphic view of the circuit.
-
Highlighting the source code that matches certain circuit element in the graphic view.
This can be seen in the screenshot above.
-
Using
Lua
scripts to customize/seed the simulation (usingdigitaljs_lua
) -
Lua command line
-
Viewing and simulation multiple circuits simultaneously
-
Zoom and pan support with both mouse and touch screen.
-
Can run either fully locally using the native version of VS Code, or fully on the web using the web version of VS Code (e.g. vscode.dev, github.dev or gitpod.io)