DVT IDE for VS Code SystemVerilog User Guide
Rev. 23.2.28, 28 November 2023

DVT IDE for VS Code SystemVerilog User Guide

Table of Contents

1. Installation
1.1. System Requirements
1.2. Install DVT for VS Code from Marketplace
1.3. Install DVT for VS Code from VSIX
1.4. Install DVT for VS Code Using a Pre-Packed Distribution
1.5. Set the License
2. Predefined Projects
3. Build Configurations
3.1. Project Natures
3.2. Non-top files
3.3. default.build
3.4. Auto-config
3.5. Simulator Log-config
3.6. Emulating compiler invocations
3.7. Multiple .build Files
3.8. Compatibility Modes
3.8.1. Default DVT Compatibility Mode
3.8.2. gcc Compatibility Mode
3.8.3. ius.irun Compatibility Mode
3.8.4. ius.perspec Compatibility Mode
3.8.5. questa.vcom Compatibility Mode
3.8.6. questa.vlog Compatibility Mode
3.8.7. questa.qrun Compatibility Mode
3.8.8. vcs.vhdlan Compatibility Mode
3.8.9. vcs.vlogan Compatibility Mode
3.8.10. xcelium.xrun Compatibility Mode
3.9. Paths
3.10. Strings
3.11. Comments
3.12. Environment Variables
3.13. Including Other Argument Files
3.14. All Build Directives
3.15. SystemVerilog OVM or UVM Library Compilation
3.16. Xilinx Libraries Compilation
3.17. Intel(Altera) Quartus Libraries Compilation
3.18. Questa Libraries Compilation
3.19. Use of External Programs
4. Compile Checks
4.1. Compile Waivers
4.2. Semantic Checks
4.3. Synthesis Checks
4.4. Performance Checks
4.5. Dead Code Checks
4.6. Non Standard Checks
5. Quick Fix Proposals
6. Content Assist (Autocomplete)
6.1. Content Assist for CamelCase and Underscore
6.2. Code Templates
6.3. Module Automatic Instantiation
6.4. Override Functions Using Autocomplete
6.5. Implement Extern Functions Using Autocomplete
6.6. Generate Setters and Getters Using Autocomplete
6.7. Use Assignment Pattern for Struct Type Variable
7. Hyperlinks
8. Show Usages
9. Show Readers or Writers
10. Show Call Hierarchy
11. Show Type Hierarchy
12. Show Constraints
13. Show Instances
14. Peek Exploration
15. Refactoring
16. Override Functions
16.1. Override Annotation
16.2. Override Using Command Palette
16.3. Override Using Autocomplete
17. Generate Setters and Getters
18. Code Factory
19. Code Formatting
19.1. Whitespace
19.2. Indentation
19.3. Vertical Alignment
19.4. Line Wrapping
19.5. Disable Format for Code Sections
19.6. Preferences Keys
20. Breadcrumb Navigation Bar
20.1. Design Breadcrumb
20.2. Verification Breadcrumb
20.3. Scope Breadcrumb
21. Diagrams
21.1. UML Diagrams
21.1.1. UML Diagram Actions
21.1.2. UML Diagram Preferences
21.1.3. UML Diagrams Legend
21.2. Design Diagrams
21.2.1. Schematic Diagrams
21.2.2. Flow Diagrams
21.2.3. Block Diagrams
21.2.4. Finite-State Machine Diagrams
21.2.5. Design Diagram Actions
21.2.6. Design Diagram Filters
21.3. UVM Components Diagrams
21.3.1. Component Diagrams from Verification Hierarchy
21.3.2. Component Diagrams from Simulation
21.3.3. Component Diagram Actions
21.3.4. Component Diagram Preferences
21.3.5. Component Diagram Filters
21.4. WaveDrom Timing Diagrams
21.5. Bit Field Diagrams
21.5.1. Bit Field Diagrams for UVM registers
21.5.2. Bit Field Diagrams for packed data types
21.6. Common Diagram Actions
21.7. Common Diagram Toolbar
22. Syntax Coloring
23. Tooltips
23.1. Comments Formatting
23.1.1. Javadoc
23.1.2. Natural Docs
24. Workspace Symbols
25. Views
25.1. Problems View
25.2. Outline View
25.3. Compiled Files View
25.4. Compile Order View
25.5. Design Hierarchy View
25.6. Verification Hierarchy View
25.7. Diagnostics View
26. Quick Search in Views
26.1. CamelCase
26.2. Simple Regex
26.3. Hierarchical Search
26.4. Search for Members
26.5. Search Port in Design Hierarchy
26.6. Search Port in Verification Hierarchy
27. Content Filters
27.1. Content Filters XML Syntax
27.2. Filtering by Element Type
27.3. Content Filters Examples
27.4. Predefined Content Filters
28. Macros Support
28.1. Inactive Code Highlight
28.2. Macro Expansion
29. Inactive Generates Code Highlight
30. Database Out of Sync Notification
31. External Tools Integration
32. UVM Support
32.1. Show UVM Sequence Tree
33. Scripts
33.1. dvt_code.sh
33.1.1. dvt_code.sh Syntax
33.1.2. dvt_code.sh Examples
33.2. dvt_ls.sh
33.2.1. dvt_ls.sh Syntax
33.2.2. dvt_ls.sh Examples
34. Custom Scripts
35. SCM Checkout Hook
36. Memory Monitor
37. Application Notes
37.1. Flow Integration
37.2. Environment Variables
37.3. Design Elaboration
37.3.1. Top candidates
37.3.2. Parameter values
37.3.3. Unelaborated Design
37.3.4. Debugging
37.3.5. Performance
37.4. Compilation Speed-up
37.5. Precompilation Support
37.6. Encrypted VIP Support
37.7. FPGA Support
37.7.1. Intel(Altera) Quartus
37.7.2. Xilinx ISE/Vivado
37.8. Preprocessed Files Support
37.9. Output and logging
38. Handy VS Code Documentation Pointers
39. What is New?
40. How to Report an Issue?
41. Legal Notices
42. Third Party Licenses
43. Q & A
43.1. Can I deactivate DVT support for a workspace even though one of my workspace folders contains a .dvt directory?