DVT IDE for VS Code SystemVerilog User Guide
Rev. 24.2.24, 14 October 2024
Go to Product Page
Installation
System Requirements
Install DVT for VS Code from Marketplace
Install DVT for VS Code from VSIX
Install DVT for VS Code Using a Pre-Packed Distribution
Set the License
User Interface
VS Code User Interface
DVT IDE for VS Code User Interface
Editor
Activity Bar
Side Bar
Status Bar
Panel
Predefined Projects
Project Templates
What is a project template?
How to generate code from a project template
Step 1. Specify Directories
Step 2. Specify Parameters
Template Configuration
template-config.xml
Build Configurations
Project Natures
Non-top files
default.build
Auto-config
Simulator Log-config
Emulating compiler invocations
Multiple .build Files
Compatibility Modes
Default DVT Compatibility Mode
gcc Compatibility Mode
ius.irun Compatibility Mode
ius.perspec Compatibility Mode
questa.vcom Compatibility Mode
questa.vlog Compatibility Mode
questa.qrun Compatibility Mode
vcs.vhdlan Compatibility Mode
vcs.vlogan Compatibility Mode
xcelium.xrun Compatibility Mode
Paths
Strings
Comments
Environment Variables
Including Other Argument Files
Build Persistence
All Build Directives
SystemVerilog OVM or UVM Library Compilation
Xilinx Libraries Compilation
Intel(Altera) Quartus Libraries Compilation
Questa Libraries Compilation
Use of External Programs
Compile Checks
Compile Waivers
Semantic Checks
Synthesis Checks
Performance Checks
Dead Code Checks
Non Standard Checks
Quick Fix Proposals
AI Assistant
Overview
Getting Started
Key Terms
Sessions
Blueprints
Prompting
Symbols
Snippets
Working in Chat
List of Buttons, Shortcuts and Commands
Working in Editor
Reference
List of Commands
Predefined Blueprints
Custom Blueprints
Predefined Snippets
Custom Snippets
LLM Configuration
How to Set-up Local LLMs Using Ollama
Troubleshooting
Why do I get unexpected replies?
Why do I get different replies for the same request?
What to do if I get errors or find a bug?
Content Assist (Autocomplete)
Content Assist for CamelCase and Underscore
Code Templates
Module Automatic Instantiation
Override Functions Using Autocomplete
Implement Extern Functions Using Autocomplete
Generate Setters and Getters Using Autocomplete
Use Assignment Pattern for Struct Type Variable
Hyperlinks
Show Usages
Show Readers or Writers
Show Call Hierarchy
Show Type Hierarchy
Show Constraints
Show Instances
Peek Exploration
Refactoring
Override Functions
Override Annotation
Override Using Command Palette
Override Using Autocomplete
Generate Setters and Getters
Code Factory
Code Formatting
Whitespace
Indentation
Vertical Alignment
Line Wrapping
Disable Format for Code Sections
Preferences Keys
Breadcrumb Navigation Bar
Design Breadcrumb
Verification Breadcrumb
Scope Breadcrumb
Diagrams
UML Diagrams
UML Diagram Actions
UML Diagram Preferences
UML Diagrams Legend
Design Diagrams
Schematic Diagrams
Flow Diagrams
Block Diagrams
Finite-State Machine Diagrams
Design Diagram Actions
Design Diagram Filters
UVM Components Diagrams
Component Diagrams from Verification Hierarchy
Component Diagrams from Simulation
Component Diagram Actions
Component Diagram Preferences
Component Diagram Filters
WaveDrom Timing Diagrams
Bit Field Diagrams
Bit Field Diagrams for UVM registers
Bit Field Diagrams for packed data types
Common Diagram Actions
Common Diagram Toolbar
Syntax Coloring
Tooltips
Comments Formatting
Javadoc
Natural Docs
Workspace Symbols
Views
Compile Order View
Build Config Hierarchy
Compiled Files View
Config DB View
Design Hierarchy View
Diagnostics View
Factory Overrides View
Outline View
Problems View
Registers View
Verification Hierarchy View
Quick Search in Views
CamelCase
Simple Regex
Hierarchical Search
Search for Members
Search Port in Design Hierarchy
Search Port in Verification Hierarchy
Content Filters
Content Filters XML Syntax
Filtering by Element Type
Content Filters Examples
Predefined Content Filters
Macros Support
Inactive Code Highlight
Macro Expansion
Inactive Generates Code Highlight
Database Out of Sync Notification
Export HTML/PDF Documentation
Preview HTML Documentation
External Tools Integration
UVM Support
UVM Runtime Elaboration
Runtime UVM Configuration Queries
UVM Content Filters
UVM Sequence Tree
UVM Templates
UVM Verification Hierarchy
Scripts
dvt_code.sh
dvt_code.sh Syntax
dvt_code.sh Examples
dvt_ls.sh
dvt_ls.sh Syntax
dvt_ls.sh Examples
Custom Scripts
SCM Checkout Hook
Memory Monitor
Application Notes
Flow Integration
Environment Variables
Design Elaboration
Top candidates
Parameter values
Unelaborated Design
Debugging
Performance
Compilation Speed-up
Precompilation Support
Encrypted VIP Support
FPGA Support
Intel(Altera) Quartus
Intel(Altera) Quartus Libraries Compilation
Xilinx ISE/Vivado
Xilinx Libraries Compilation
Preprocessed Files Support
Output and logging
Understanding DVT IDE memory usage
Handy VS Code Documentation Pointers
What is New?
How to Report an Issue?
Legal Notices
Third Party Licenses
Q & A
Can I deactivate DVT support for a workspace even though one of my workspace folders contains a .dvt directory?
Next
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?