DVT IDE for VS Code SystemVerilog User Guide
Rev. 24.2.24, 14 October 2024

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. User Interface
2.1. VS Code User Interface
2.2. DVT IDE for VS Code User Interface
2.2.1. Editor
2.2.2. Activity Bar
2.2.3. Side Bar
2.2.4. Status Bar
2.2.5. Panel
3. Predefined Projects
4. Project Templates
4.1. What is a project template?
4.2. How to generate code from a project template
4.2.1. Step 1. Specify Directories
4.2.2. Step 2. Specify Parameters
4.3. Template Configuration
4.3.1. template-config.xml
5. Build Configurations
5.1. Project Natures
5.2. Non-top files
5.3. default.build
5.4. Auto-config
5.5. Simulator Log-config
5.6. Emulating compiler invocations
5.7. Multiple .build Files
5.8. Compatibility Modes
5.8.1. Default DVT Compatibility Mode
5.8.2. gcc Compatibility Mode
5.8.3. ius.irun Compatibility Mode
5.8.4. ius.perspec Compatibility Mode
5.8.5. questa.vcom Compatibility Mode
5.8.6. questa.vlog Compatibility Mode
5.8.7. questa.qrun Compatibility Mode
5.8.8. vcs.vhdlan Compatibility Mode
5.8.9. vcs.vlogan Compatibility Mode
5.8.10. xcelium.xrun Compatibility Mode
5.9. Paths
5.10. Strings
5.11. Comments
5.12. Environment Variables
5.13. Including Other Argument Files
5.14. Build Persistence
5.15. All Build Directives
5.16. SystemVerilog OVM or UVM Library Compilation
5.17. Xilinx Libraries Compilation
5.18. Intel(Altera) Quartus Libraries Compilation
5.19. Questa Libraries Compilation
5.20. Use of External Programs
6. Compile Checks
6.1. Compile Waivers
6.2. Semantic Checks
6.3. Synthesis Checks
6.4. Performance Checks
6.5. Dead Code Checks
6.6. Non Standard Checks
7. Quick Fix Proposals
8. AI Assistant
8.1. Overview
8.2. Getting Started
8.3. Key Terms
8.3.1. Sessions
8.3.2. Blueprints
8.3.3. Prompting
8.3.4. Symbols
8.3.5. Snippets
8.4. Working in Chat
8.4.1. List of Buttons, Shortcuts and Commands
8.5. Working in Editor
8.6. Reference
8.6.1. List of Commands
8.6.2. Predefined Blueprints
8.6.3. Custom Blueprints
8.6.4. Predefined Snippets
8.6.5. Custom Snippets
8.6.6. LLM Configuration
8.7. How to Set-up Local LLMs Using Ollama
8.8. Troubleshooting
8.8.1. Why do I get unexpected replies?
8.8.2. Why do I get different replies for the same request?
8.8.3. What to do if I get errors or find a bug?
9. Content Assist (Autocomplete)
9.1. Content Assist for CamelCase and Underscore
9.2. Code Templates
9.3. Module Automatic Instantiation
9.4. Override Functions Using Autocomplete
9.5. Implement Extern Functions Using Autocomplete
9.6. Generate Setters and Getters Using Autocomplete
9.7. Use Assignment Pattern for Struct Type Variable
10. Hyperlinks
11. Show Usages
12. Show Readers or Writers
13. Show Call Hierarchy
14. Show Type Hierarchy
15. Show Constraints
16. Show Instances
17. Peek Exploration
18. Refactoring
19. Override Functions
19.1. Override Annotation
19.2. Override Using Command Palette
19.3. Override Using Autocomplete
20. Generate Setters and Getters
21. Code Factory
22. Code Formatting
22.1. Whitespace
22.2. Indentation
22.3. Vertical Alignment
22.4. Line Wrapping
22.5. Disable Format for Code Sections
22.6. Preferences Keys
23. Breadcrumb Navigation Bar
23.1. Design Breadcrumb
23.2. Verification Breadcrumb
23.3. Scope Breadcrumb
24. Diagrams
24.1. UML Diagrams
24.1.1. UML Diagram Actions
24.1.2. UML Diagram Preferences
24.1.3. UML Diagrams Legend
24.2. Design Diagrams
24.2.1. Schematic Diagrams
24.2.2. Flow Diagrams
24.2.3. Block Diagrams
24.2.4. Finite-State Machine Diagrams
24.2.5. Design Diagram Actions
24.2.6. Design Diagram Filters
24.3. UVM Components Diagrams
24.3.1. Component Diagrams from Verification Hierarchy
24.3.2. Component Diagrams from Simulation
24.3.3. Component Diagram Actions
24.3.4. Component Diagram Preferences
24.3.5. Component Diagram Filters
24.4. WaveDrom Timing Diagrams
24.5. Bit Field Diagrams
24.5.1. Bit Field Diagrams for UVM registers
24.5.2. Bit Field Diagrams for packed data types
24.6. Common Diagram Actions
24.7. Common Diagram Toolbar
25. Syntax Coloring
26. Tooltips
26.1. Comments Formatting
26.1.1. Javadoc
26.1.2. Natural Docs
27. Workspace Symbols
28. Views
28.1. Compile Order View
28.1.1. Build Config Hierarchy
28.2. Compiled Files View
28.3. Config DB View
28.4. Design Hierarchy View
28.5. Diagnostics View
28.6. Factory Overrides View
28.7. Outline View
28.8. Problems View
28.9. Registers View
28.10. Verification Hierarchy View
29. Quick Search in Views
29.1. CamelCase
29.2. Simple Regex
29.3. Hierarchical Search
29.4. Search for Members
29.5. Search Port in Design Hierarchy
29.6. Search Port in Verification Hierarchy
30. Content Filters
30.1. Content Filters XML Syntax
30.2. Filtering by Element Type
30.3. Content Filters Examples
30.4. Predefined Content Filters
31. Macros Support
31.1. Inactive Code Highlight
31.2. Macro Expansion
32. Inactive Generates Code Highlight
33. Database Out of Sync Notification
34. Export HTML/PDF Documentation
34.1. Preview HTML Documentation
35. External Tools Integration
36. UVM Support
36.1. UVM Runtime Elaboration
36.2. Runtime UVM Configuration Queries
36.3. UVM Content Filters
36.4. UVM Sequence Tree
36.5. UVM Templates
36.6. UVM Verification Hierarchy
37. Scripts
37.1. dvt_code.sh
37.1.1. dvt_code.sh Syntax
37.1.2. dvt_code.sh Examples
37.2. dvt_ls.sh
37.2.1. dvt_ls.sh Syntax
37.2.2. dvt_ls.sh Examples
38. Custom Scripts
39. SCM Checkout Hook
40. Memory Monitor
41. Application Notes
41.1. Flow Integration
41.2. Environment Variables
41.3. Design Elaboration
41.3.1. Top candidates
41.3.2. Parameter values
41.3.3. Unelaborated Design
41.3.4. Debugging
41.3.5. Performance
41.4. Compilation Speed-up
41.5. Precompilation Support
41.6. Encrypted VIP Support
41.7. FPGA Support
41.7.1. Intel(Altera) Quartus
41.7.2. Xilinx ISE/Vivado
41.8. Preprocessed Files Support
41.9. Output and logging
41.10. Understanding DVT IDE memory usage
42. Handy VS Code Documentation Pointers
43. What is New?
44. How to Report an Issue?
45. Legal Notices
46. Third Party Licenses
47. Q & A
47.1. Can I deactivate DVT support for a workspace even though one of my workspace folders contains a .dvt directory?