DVT VHDL IDE User Guide
Rev. 24.2.24, 14 October 2024

DVT VHDL IDE User Guide

Table of Contents

1. Installation Checklist
1.1. Install DVT Using a pre-packed Distribution
1.2. Install DVT Using the Update Site
1.3. Set the License
2. Predefined Projects
3. Getting Started
3.1. What is a Workspace
3.2. What is a Project
3.3. Project Natures
3.4. Workspace and Workbench
3.5. Refresh
3.6. Linked Resources
3.7. Backup and Local History
3.8. Basic Tutorial
3.8.1. Switch to the DVT Perspective
3.8.2. Open a Project
3.8.3. Configure the Build
3.8.4. Build the Project
3.8.5. Inspect the Compilation Errors
3.8.6. See Comments in Tooltips
3.8.7. Use Hyperlinks to Move Around in the Code
3.8.8. Quickly Open a Type (Entity, Architecture)
3.8.9. Quickly Open a File
3.8.10. Quickly Move Inside the Editor
3.8.11. Inspect the Design Hierarchy
3.8.12. Browse Through All the Available Types (Entities, Architectures)
3.8.13. Search for Entities
3.8.14. Use Content Assist (Autocomplete)
3.8.15. Use Code Templates
3.8.16. Use Component Auto Instance
3.8.17. Track Tasks using TODO Markers
3.8.18. Quickly See the Current Scope in the Status Bar
3.8.19. Fold Code Regions in Order to Improve Readability
3.8.20. Access the Context Sensitive Help
4. Build Configurations
4.1. Non-top files
4.2. default.build
4.3. Auto-config
4.4. Simulator Log-config
4.5. Emulating compiler invocations
4.6. Multiple .build Files
4.7. Compatibility Modes
4.7.1. Default DVT Compatibility Mode
4.7.2. gcc Compatibility Mode
4.7.3. ius.irun Compatibility Mode
4.7.4. ius.perspec Compatibility Mode
4.7.5. questa.vcom Compatibility Mode
4.7.6. questa.vlog Compatibility Mode
4.7.7. questa.qrun Compatibility Mode
4.7.8. vcs.vhdlan Compatibility Mode
4.7.9. vcs.vlogan Compatibility Mode
4.7.10. xcelium.xrun Compatibility Mode
4.8. Paths
4.9. Strings
4.10. Comments
4.11. Environment Variables
4.12. Including Other Argument Files
4.13. Build Persistence
4.14. DVT Auto-Linked
4.15. Run a Script Before Build
4.16. All Build Directives
4.17. e Language Test Files
4.18. e Language SPECMAN_PATH
4.19. SystemVerilog OVM or UVM Library Compilation
4.20. Xilinx Libraries Compilation
4.21. Intel(Altera) Quartus Libraries Compilation
4.22. Questa Libraries Compilation
4.23. Use of External Programs
5. Compile Checks
5.1. Compile Waivers
5.2. Semantic Checks
5.3. Naming Conventions Checking
5.4. Non Standard Checks
6. Content Assist (Autocomplete)
6.1. Content assist for CamelCase and Underscore
6.2. Component Automatic Instantiation
6.3. Code Templates
6.4. Generate Case Statement Using Autocomplete
7. Quick Fix Proposals
7.1. Add Case Choice
7.2. Add Generic to Entity
7.3. Add Port
7.4. Add Signal to Sensitivity List
7.5. Correct Spelling In Comments and Strings
7.6. Create File From Build Config Editor
7.7. Declare Enum Value
7.8. Declare Variable
7.9. Did You Mean
7.10. Fully Qualify Type
7.11. Import Type
7.12. Replace Deprecated Package
7.13. Remove Library Clause
7.14. Remove Signal from Sensitivity List
7.15. Remove Signal Never Used
7.16. Update Entity Instance
7.17. Waive Compilation Problems
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 Filters
9.1. Content Filters XML syntax
9.2. Filtering by element type
9.3. Content Filters Examples
9.4. Predefined Content Filters
10. Code Templates
10.1. Code Templates in Autocomplete
10.2. Global Code Templates
10.3. Project Level Code Templates
10.4. Code Templates View
11. File Templates
12. Project Templates
12.1. What is a project template?
12.2. How to generate code from a project template
12.2.1. Step 1. Specify Directories
12.2.2. Step 2. Specify Parameters
12.3. Template Configuration
12.3.1. template-config.xml
12.3.2. template.config
12.4. Add from Template
13. Code Formatting
13.1. Capitalization
13.2. Whitespace
13.3. Indentation
13.4. Vertical Alignment
13.5. Line Wrapping
13.6. Disable Format for Code Sections
13.7. Format Multiple Files
13.8. External
13.9. Preferences Keys
14. Component Automatic Instantiation
14.1. Autoinstance Using Autocomplete
14.2. Autoinstance Using Drag and Drop
15. Semantic Search
16. Show Usages, Readers or Writers
17. Favorite Searches
18. Show Instances
18.1. Show Instances in the Search View
18.2. Show Instances in the Design Hierarchy View
19. Quick Search in Views
19.1. CamelCase
19.2. Simple Regex
19.3. Hierarchical Search
19.4. Search for Members
19.5. Search Port in Design Hierarchy
20. Trace Connections
20.1. Trace Connections from Design Hierarchy
20.2. Trace Connections from Editor
20.3. Trace Connections View
20.4. Trace Path
21. Breadcrumb Navigation Bar
21.1. Design Breadcrumb
21.2. Scope Breadcrumb
21.3. Filesystem Breadcrumb
22. Code Factory
23. Refactoring
23.1. Rename Refactoring
23.2. Rename Port Across the Design Hierarchy
23.3. Extract to Variable
23.4. Add New Port to Entity
23.5. Add New Generic to Entity
23.6. Connect Instances Across the Design Hierarchy
23.6.1. Connect Instances Using New Ports
23.6.2. Structural Changes Preview Diagram
23.6.3. Refactoring Connect View
24. Diagrams
24.1. Design Diagrams
24.1.1. Schematic Diagrams
24.1.2. Flow Diagrams
24.1.3. Block Diagrams
24.1.4. Finite-State Machine Diagrams
24.1.5. Diagram Filters
24.1.6. Design Diagram Actions
24.1.7. Breadcrumb Navigation Bar
24.1.8. Low Power Format Support
24.2. Diagram Actions
24.3. Diagram Toolbar
24.4. Diagram Magnifier
24.5. Bit Field Diagrams
24.6. WaveDrom Timing Diagrams
25. Low Power Format Support
25.1. Supply Network Diagram
26. Export HTML/PDF Documentation
26.1. Preview HTML Documentation
27. External Tools Integration
27.1. Run Configurations
27.1.1. Run Configuration Session Type
27.1.2. Custom Shortcut and Button for a Run Configuration
27.1.3. Using environment variables in DVT Generic Run Configurations
27.1.4. Using an alias in a DVT Generic Run Configuration
27.1.5. DVT Generic Run Configuration Variables
27.2. Smart Log
27.2.1. Smart Log - Filters
27.2.2. Smart Log - Hyperlinks
27.2.3. Smart Log - Styles
27.3. External Builders
27.3.1. How to define a new external builder
27.3.2. How to invoke external builders
27.3.3. External Builder Output
27.3.4. Source Code Markers - errors warnings
28. Debugger Integration
28.1. Simulation Prerequisites
28.2. Launch a Debug Simulation
28.3. Connect to an Existing Simulation
28.4. Breakpoints
28.5. Threads, Call Stack, Stepping
28.6. Variables
28.7. Watch Expressions
28.8. Debug Specific Configurations
29. Custom Dialogs
29.1. Quick Steps
29.2. Customizing the Dialog Output
29.3. SWT/XML Reference
29.3.1. Layouts
29.3.2. Widgets
29.4. Custom Dialog Snapshots
29.4.1. Custom Dialog Snapshots File Syntax (XML)
30. Command Line Interface
30.1. dvt_cli.sh
30.2. Syntax
30.3. Examples
30.4. Makefile Example
30.5. Commands
30.5.1. Create a Project (Mixed-Language Capable)
30.5.2. Create a Project From an Existing Template
30.5.3. Import an Existing Project
30.5.4. List Compiled Files
30.5.5. Compare Files
30.5.6. Launch a Run Configuration
30.5.7. Open a File
30.5.8. Close a File
30.5.9. Open a Custom Dialog
30.5.10. Open a Perspective
30.5.11. Refresh a Project
30.5.12. Rebuild a Project
30.5.13. Print Edited File
30.5.14. Quit
30.5.15. Query the running status
30.5.16. Print version
30.5.17. Run Performance Exploration
31. Reminders (TODO Markers)
32. Settings Management
32.1. Managed Settings
32.2. Unmanaged Settings
32.3. User and Common Settings Location
32.4. Use Cases
32.4.1. Memory Allocation Thresholds
32.4.2. Workspace Preferences
32.4.3. Run Configurations
32.4.4. Compile Waivers
32.4.5. Content Filters
32.4.6. External Builders
32.4.7. Export HTML Documentation
32.4.8. Custom Pragmas
32.5. Examples
32.6. Deprecated Settings Management (before DVT 3.5)
32.6.1. Workspace Settings
32.6.2. Project Settings
32.6.3. Other Settings
32.6.4. Importing Preferences From a Different Workspace
32.6.5. Customizing Default Settings Using dvt.ini
33. Reference
33.1. Comments Formatting
33.1.1. Javadoc
33.1.2. Natural Docs
33.2. Common Shortcuts
33.3. Custom Pragmas
33.4. DVT Resource Monitor
33.5. Editor Right Click Menu
33.5.1. Folding
33.5.2. Source
33.5.3. Code Factory
33.5.4. Show
33.5.5. References
33.5.6. Trace
33.5.7. Refactor
33.6. Hyperlinks
33.6.1. Hyperlinks in Comments
33.7. Icons and Decorations
33.7.1. Icons
33.7.2. Decorations
33.7.3. Changing Icon Colors
33.7.4. Project Colors
33.8. Lazy Bring up Resources
33.9. Memory Monitor
33.10. Scripts
33.10.1. dvt.sh
33.10.2. dvt_cli.sh
33.10.3. dvt_kit_installer.sh
33.10.4. dvt_plugin_installer.sh
33.10.5. dvt_build.sh
33.11. Syntax Coloring
33.12. Inactive generates code highlight
33.13. Themes
33.14. Toolbar Actions
33.15. Tooltips
33.16. Views
33.16.1. Code Templates View
33.16.2. Compile Order View
33.16.3. Console View
33.16.4. Design Hierarchy View
33.16.5. Inspect View
33.16.6. Layers View
33.16.7. Power Domain View
33.16.8. Outline View
33.16.9. Problems View
33.16.10. Quick Query View
33.16.11. Tasks View
33.16.12. Trace Connections View
33.16.13. Types View
34. Application Notes
34.1. C/C++ support
34.2. FPGA Support
34.2.1. Intel(Altera) Quartus
34.2.2. Xilinx ISE/Vivado
34.3. OSVVM Support
34.4. UVVM Support
34.5. Generating External Tool Scripts from the DVT Build Configuration
34.6. Design Elaboration
34.6.1. Top candidates
34.6.2. Parameter values
34.6.3. Unelaborated Design
34.6.4. Debugging
34.6.5. Performance
34.7. Output and logging
35. Tips and Tricks
36. Q & A
36.1. I am new to Eclipse, where should I start from?
36.2. Where can I find DVT Help?
36.3. How do I see and configure the key shortcuts?
36.4. Are there any backup files in Eclipse?
36.5. Workspace in use, cannot launch eclipse...
36.6. Locking is not possible in the directory...
36.7. How to start DVT Eclipse with a different eclipse.ini
36.8. Save could not be completed
36.9. IBM Clearcase Plugin
36.10. How to use Working Sets for filtering Problems/Task/Search views?
36.11. How do I Access Files Outside Project Dir - Working with Linked Resources
36.12. Mapping Linux to Windows (/proj/ to Z:\proj\)
36.13. Subversive vs Subclipse
36.14. How do I associate a project with both DVT and CDT?
36.15. Can I use vi/vim along with DVT?
36.16. Can I perform dos2unix or unix2dos from DVT?
36.17. How can I configure Eclipse to use a local CVS repository?
36.18. I am using the Common Desktop Environment via Citrix and experiencing crashes. What can I do?
36.19. How do I change the background color of the Editor?
36.20. Some widget colors are not displayed properly. What can I do?
36.21. How do I change the tooltip colors?
36.22. How do I change Internet Proxy Settings?
36.23. Eclipse does not start, there is no Workspace, metadata or log file created
36.24. Workspace permissions
36.25. How do I link mylyn with Bugzilla?
36.26. How do I print source code?
36.27. How do I disable Eclipse Software Sites?
36.28. How do I revert to a previous version?
36.29. What are the most common shortcuts in DVT?
36.30. How does DVT integrate with CVS?
36.31. How to set an environment variable within a Run Configuration?
36.32. How to run a remote Unix command from DVT Eclipse for Windows?
36.33. Rebuild shortcut (Ctrl + Alt + R) does not work
36.34. I want to use an alias in a DVT Generic Run Configuration, but it's not recognized
36.35. How to set multiple paths as sources of predefined projects ?
36.36. Lines are suddenly changing indentation when I edit text or move the cursor through the editor.
36.37. How to change the directory where the build log file is saved ?
36.38. How to find the DVT logs on Linux/Unix ?
36.39. How to create resource filters ?
36.40. How to create custom shortcut and button for a Run Configuration?
36.41. I know that file.foo is present in the project location, but I can't see it in the Navigator View
36.42. How to copy the full path to the file in the current editor?
36.43. How to adjust the console logs filters matching parameters?
36.44. When I switch to Block (Column) Selection mode the font changes
36.45. In Block (Column) Selection mode I see strange editng artifacts
36.46. How to modify the font size in the code editors?
36.47. How to automatically checkout/lock files from the revision control system ?
36.48. How can I see if a file is read-only?
36.49. How can I open a file in DVT from the terminal?
36.50. How can I open a file in DVT from Questa?
36.51. How do I change the name of the xterm opened by a DVT Generic Run Configuration?
36.52. I get errors while installing or updating a plugin from an update site
37. What is New?
38. How to Report an Issue?
39. Legal Notices
40. Third Party Licenses