Skip to content

Latest commit

 

History

History
68 lines (56 loc) · 1.97 KB

FEATURES.md

File metadata and controls

68 lines (56 loc) · 1.97 KB

Features

Underlined features show what was available in the project this was based on: https://github.com/mshr-h/vscode-verilog-hdl-support

Code complete

  • Symbols in the current file
  • ModuleName #
  • PackageName::
  • Builtins on $
  • Ports/Params
  • Macros and more

Goto Defs

  • Symbols in current file
  • Modules/Packages in the form ModuleName.sv
  • Module Ports/Params
  • Macros and global symbols in .svh files
  • In-memory lazy module cache, which makes everything a lot snappier
  • Hierarchical references, interface array references
  • jump to file on include directives

Formatting

  • Verilog formatting provider
  • Format on save for specific directories

Linting

  • Slang and Verilator linting
  • Managed symlink index in vscode storage, allowing tools to use -y on the index
  • verilog.includes passed to all tools
  • Parses lint width from tool instead of underlining whole line
  • Parses slang instance paths when given
  • Fixed Icarus linting on windows
  • Xcelium Lint, terminal links for Xcelium's file/lineno format

Top level context

  • Lint an entire project with multiple linters
  • Hierarchy View
    • Set top module
    • Toggle Params and Data in tree
    • Set Instance by Path
  • Instances View
    • View each module in the design, and the instances of each
  • Terminal links for hierarchical paths- opens paths in views and editor

Analysis / Aesthetics

  • Split view macro expansion
  • Improvements to syntax highlighting
  • Improve symbol tree generation and icon choice

Future plans

General

  • Expand macros on hover
  • Slang language server / Slang json parsing instead of ctags
  • Improved codecomplete/defs for OOP/UVM

Top level context

  • Specify build.f file (defines, includes), not just top level
  • Commmand to generate build.f file
  • param inlay hints for selected instance
  • wire inlay hints from waveform + timestamp
  • Open instance/file from waveform viewer
  • Open waveform viewer from instance signal

Lint

  • VCS Lint