VHDL, Verilog, SystemVerilog for Visual Studio

How V3S increases HDL coding productivity

What is V3S?

V3S is an extension for Microsoft's most excellent Visual Studio. It enables programmers to use Visual Studio as code editor for VHDL (and Verilog/SystemVerilog) projects. Following the rich feature set of the C# programming language, V3S offers many useful functions for efficiently coding in VHDL (or Verilog/SystemVerilog).

Type less, gain more, refactorize

V3S tightly integrates into Visual Studio and offers all features one expects from a cutting-edge Integrated Development Environment. Refactorization, code completion/autocomplete, smart indentation, and extended snippets are only some examples that will bring your coding efficiency to the next level.

Early error detection

Syntactic- and semantic error checks are performed while you are typing, thus allowing you to correct syntactic and most semantic errors on the fly - without the need to incorporate your synthesis tool. You don't have to switch between applications, therefore saving considerable time.

Efficient navigation

Large HDL projects are not as structured and well-arranged as many other programming languages. V3S offers various features for quickly navigating the code-base. Simply go to a symbol's definition with just one keystroke, use the handy navigation bar to jump to different design modules, or find all references for a quick overview of symbol usage.

Quickinfo is your friend

Large projects have many different types, signals and constants. Looking them up will consume an enormous amount of your precious time. V3S provides Quickinfo - just hover the cursor over a symbol. You'll get a pop-up containing type definitions and default values, automatic number conversion and even expression evaluation.

Import existing projects

If you already have existing HDL projects, e.g., for the Altera Quartus or the Xilinx ISE/Vivado Software Suite, you can simply use the New Project Wizard to import your project into Visual Studio. For a quick start, I also offer a Hello World and a Sample Project, both of which can be created with just a few clicks.

Reasons to use V3S

1 Seamless integration into Visual Studio allows you to use your favorite code editor, with all it's features and shortcuts. There's nothing new to learn. The look and feel is as effective and comfortable as for C#.


2 No need to buy Visual Studio because Microsoft offers free Community Editions of Visual Studio, even for commerical use. However, I also offer a stand-alone edition just in case. Supported platforms are VS2010, VS2012, VS2013, VS2015, and VS2017.


3 Refactorization and Find All References are two extremely powerful and useful features which will make implementing and maintaining your HDL source code much more efficient.
4 Syntax highlighting in combination with semantic highlighting offers you a new level of clarity when looking at your source code. Types, signals, ports, variables, constants, labels, strings, libraries, ... are be displayed using different colors.


5 Type-Time error checking avoids time-consuming and annoying trial-and-error runs with your synthesis tool just to fix syntax and trivial semantic errors. Write error-free code from the beginning under the guidance of V3S - your frustration level will improve considerably.


6 Efficient navigation of the entire code base. Functions like Goto Definition or Goto Declaration are available with just one keystroke. Jumping back and forth between previously visited code passages (even amongst different files) is also possible.
7 Quickinfo provides all important information about types, signals, modules, constants, numbers of different bases, etc. by just hovering the mouse over the symbol. No need for annoying and time consuming code lookups any more.


8 Code Completion suggests signal names as you type. You have to do substantially less typing, and you don't have to remember all the variable names, as you can simply choose from the completion dialog. Also record types are resolved automatically.


9 Code Snippets insert entire blocks of code for you. You can efficiently instantiate components, where the signal association lists are created automatically. Or you can insert a snippet for a state-machine, where the entire case statement is created for you, and already contains all associated states.
© 2013 - 2018 by ViDE-Software Contact | Terms | Imprint