/vscode-terosHDL

TerosHDL Visual Studio Code plugin

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Current Version Install Count Download Count

Index

  1. Introduction
  2. Thanks
  3. Go to definition
  4. Hover and structure
  5. Template generator
  6. Documenter
  7. Errors checking
  8. Style checking
  9. Formatting
  10. State machine viewer
  11. State machine designer
  12. Dependencies viewer
  13. Hover to evaluate binary, hexadecimal and octal values
  14. Code snippets and grammar
  15. Beta Verilog/SV schematic viewer
  16. Project manager (currently only VUnit supported
  17. Future work
  18. Similar projects

1. Introduction

Our philosophy is: think in hardware, develop hardware, take advantage of software tools.

The goal of TerosHDL is make the FPGA development easier and reliable. It is a powerful open source IDE.

Please, visit the documentation web for a full IDE description: (https://terostechnology.github.io/terosHDLdoc/)

2. Thanks

3. Go to definition

You can jump to the definition with Ctrl+Click.

alt text

4. Hover and structure

If you hover over a symbol, a preview of the declaration will appear.

alt text

5. Template generator

Supported templates

Verilog VHDL
Testbench Testbench
cocotb cocotb
VUnit VUnit
Signals Signals
Component Component
Instance Instance
Verilator

Usage Instructions

  1. Open a VHDL/Verilog file.
  2. Select the template icon. alt text
  3. Choose a template type.

6. Documenter

Special comment symbols

You can configure what symbol will be used to extract the comments in the HDL file. It supports MarkDown style. In the following example is used the symbol "!":

--! This is a description
--! of the entity.
entity counter is
  port (
    clk: in std_logic; --! Clock comment
    out_data: out std_logic --! Description **port comment**
  );
end counter;

Usage Instructions

  1. Open a VHDL/Verilog file.
  2. Select the documenter icon. alt text
  3. TerosHDL will show the generated documentation. alt text
  4. Export your documentation to PDF, Markdown, HTML or SVG diagram.
  5. Edit your VHDL/Verilog file and save it. The preview will show automatically.

Wavedrom support

TerosHDL supports WaveJSON format in the module description, a format that describes Digital Timing Diagrams:

https://wavedrom.com/tutorial.html

alt text

Bitfield

https://observablehq.com/collection/@drom/bitfield

alt text

7. Errors checking

Supported linters

You need to install manually the simulators.

Verilog VHDL
ModelSim ModelSim
Vivado Vivado
Icarus GHDL
Verilator

Configuration

One of the above tools has to be installed to enable linter functionalities in a language. If the tool can not be find in the system path it has to be configured in the plugin config:

Configuration example for verilog:

alt text

8. Style checking

Supported linters

This is an experimental feature. You need to install Verible (https://github.com/google/verible)

Verilog VHDL
Verible --

Configuration

9. Formatting

Supported formatters

Verilog VHDL
iStyle Standalone

Configuration

10. State machine viewer

Usage Instructions

alt text

11. State machine designer

Usage Instructions

  1. Open the command palette: Ctrl+Shift+P and select State machine designer alt text
  2. Follow the instructions and design your state machine! alt text

12. Dependencies viewer

  1. Install Python3.
  2. Go go TerosHDL configuration and add the Python3 binary path.

Usage Instructions

  1. Open the command palette: Ctrl+Shift+P and select Open dependencies viewer alt text
  2. Add a HDL files to the viewer (you can mix verilog and VHDL). alt text
  3. TerosHDL will generate the dependencies graph: alt text
  4. You can reset your viewer: alt text
  5. You can generate the indexed Markdown documentation for all the files. alt text
  6. And the indexed HTML documentation. alt text
  7. Result in HTML format: alt text

13. Hover to evaluate binary, hexadecimal and octal values

alt text

alt text

14. Code snippets and grammar

Language Grammar Code snippets
Verilog
System Verilog
VHDL
XDC/SDC
ucf

alt text

15. Beta Verilog/SV schematic viewer

alt text

16. Project manager (currently only VUnit supported)

For a full description visit the documentation web.

alt text

17. Future work

  • Project manager improvements.
  • File tree view.
  • Integrate triel

18. Similar projects

  • Hardware Integrated Development Environment (hide)
  • APIO-ide