DVT VHDL IDE User Guide
Rev. 24.1.5, 13 March 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. Content Filters
8.1. Content Filters XML syntax
8.2. Filtering by element type
8.3. Content Filters Examples
8.4. Predefined Content Filters
9. Code Templates
9.1. Code Templates in Autocomplete
9.2. Global Code Templates
9.3. Project Level Code Templates
9.4. Code Templates View
10. File Templates
11. Project Templates
11.1. What is a project template?
11.2. How to generate code from a project template
11.2.1. Step 1. Specify Directories
11.2.2. Step 2. Specify Parameters
11.3. Template Configuration
11.3.1. template-config.xml
11.3.2. template.config
11.4. Add from Template
12. Code Formatting
12.1. Capitalization
12.2. Whitespace
12.3. Indentation
12.4. Vertical Alignment
12.5. Line Wrapping
12.6. Disable Format for Code Sections
12.7. Format Multiple Files
12.8. External
12.9. Preferences Keys
13. Component Automatic Instantiation
13.1. Autoinstance Using Autocomplete
13.2. Autoinstance Using Drag and Drop
14. Semantic Search
15. Show Usages, Readers or Writers
16. Favorite Searches
17. Show Instances
17.1. Show Instances in the Search View
17.2. Show Instances in the Design Hierarchy View
18. Quick Search in Views
18.1. CamelCase
18.2. Simple Regex
18.3. Hierarchical Search
18.4. Search for Members
18.5. Search Port in Design Hierarchy
19. Trace Connections
19.1. Trace Connections from Design Hierarchy
19.2. Trace Connections from Editor
19.3. Trace Connections View
19.4. Trace Path
20. Breadcrumb Navigation Bar
20.1. Design Breadcrumb
20.2. Scope Breadcrumb
20.3. Filesystem Breadcrumb
21. Code Factory
22. Refactoring
22.1. Rename Refactoring
22.2. Rename Port Across the Design Hierarchy
22.3. Extract to Variable
22.4. Add New Port to Entity
22.5. Add New Generic to Entity
22.6. Connect Instances Across the Design Hierarchy
22.6.1. Connect Instances Using New Ports
22.6.2. Structural Changes Preview Diagram
22.6.3. Refactoring Connect View
23. Diagrams
23.1. Design Diagrams
23.1.1. Schematic Diagrams
23.1.2. Flow Diagrams
23.1.3. Block Diagrams
23.1.4. Finite-State Machine Diagrams
23.1.5. Diagram Filters
23.1.6. Design Diagram Actions
23.1.7. Breadcrumb Navigation Bar
23.1.8. Low Power Format Support
23.2. Diagram Actions
23.3. Diagram Toolbar
23.4. Diagram Magnifier
23.5. Bit Field Diagrams
23.6. WaveDrom Timing Diagrams
24. Low Power Format Support
24.1. Supply Network Diagram
25. Export HTML/PDF Documentation
26. External Tools Integration
26.1. Run Configurations
26.1.1. Run Configuration Session Type
26.1.2. Custom Shortcut and Button for a Run Configuration
26.1.3. Using environment variables in DVT Generic Run Configurations
26.1.4. Using an alias in a DVT Generic Run Configuration
26.1.5. DVT Generic Run Configuration Variables
26.2. Smart Log
26.2.1. Smart Log - Filters
26.2.2. Smart Log - Hyperlinks
26.2.3. Smart Log - Styles
26.3. External Builders
26.3.1. How to define a new external builder
26.3.2. How to invoke external builders
26.3.3. External Builder Output
26.3.4. Source Code Markers - errors warnings
27. Debugger Integration
27.1. Simulation Prerequisites
27.2. Launch a Debug Simulation
27.3. Connect to an Existing Simulation
27.4. Breakpoints
27.5. Threads, Call Stack, Stepping
27.6. Variables
27.7. Watch Expressions
27.8. Debug Specific Configurations
28. Custom Dialogs
28.1. Quick Steps
28.2. Customizing the Dialog Output
28.3. SWT/XML Reference
28.3.1. Layouts
28.3.2. Widgets
28.4. Custom Dialog Snapshots
28.4.1. Custom Dialog Snapshots File Syntax (XML)
29. Command Line Interface
29.1. dvt_cli.sh
29.2. Syntax
29.3. Examples
29.4. Makefile Example
29.5. Commands
29.5.1. Create a Project (Mixed-Language Capable)
29.5.2. Create a Project From an Existing Template
29.5.3. Import an Existing Project
29.5.4. List Compiled Files
29.5.5. Compare Files
29.5.6. Launch a Run Configuration
29.5.7. Open a File
29.5.8. Close a File
29.5.9. Open a Custom Dialog
29.5.10. Open a Perspective
29.5.11. Refresh a Project
29.5.12. Rebuild a Project
29.5.13. Print Edited File
29.5.14. Quit
29.5.15. Query the running status
29.5.16. Print version
29.5.17. Run Performance Exploration
30. Reminders (TODO Markers)
31. Settings Management
31.1. Managed Settings
31.2. Unmanaged Settings
31.3. User and Common Settings Location
31.4. Use Cases
31.4.1. Memory Allocation Thresholds
31.4.2. Workspace Preferences
31.4.3. Run Configurations
31.4.4. Compile Waivers
31.4.5. Content Filters
31.4.6. External Builders
31.4.7. Export HTML Documentation
31.4.8. Custom Pragmas
31.5. Examples
31.6. Deprecated Settings Management (before DVT 3.5)
31.6.1. Workspace Settings
31.6.2. Project Settings
31.6.3. Other Settings
31.6.4. Importing Preferences From a Different Workspace
31.6.5. Customizing Default Settings Using dvt.ini
32. Reference
32.1. Comments Formatting
32.1.1. Javadoc
32.1.2. Natural Docs
32.2. Common Shortcuts
32.3. Custom Pragmas
32.4. DVT Resource Monitor
32.5. Editor Right Click Menu
32.5.1. Folding
32.5.2. Source
32.5.3. Code Factory
32.5.4. Show
32.5.5. References
32.5.6. Trace
32.5.7. Refactor
32.6. Hyperlinks
32.6.1. Hyperlinks in Comments
32.7. Icons and Decorations
32.7.1. Icons
32.7.2. Decorations
32.7.3. Changing Icon Colors
32.7.4. Project Colors
32.8. Lazy Bring up Resources
32.9. Memory Monitor
32.10. Scripts
32.10.1. dvt.sh
32.10.2. dvt_cli.sh
32.10.3. dvt_kit_installer.sh
32.10.4. dvt_plugin_installer.sh
32.10.5. dvt_build.sh
32.11. Syntax Coloring
32.12. Inactive generates code highlight
32.13. Themes
32.14. Toolbar Actions
32.15. Tooltips
32.16. Views
32.16.1. Code Templates View
32.16.2. Compile Order View
32.16.3. Console View
32.16.4. Design Hierarchy View
32.16.5. Inspect View
32.16.6. Layers View
32.16.7. Outline View
32.16.8. Problems View
32.16.9. Tasks View
32.16.10. Trace Connections View
32.16.11. Types View
33. Application Notes
33.1. C/C++ support
33.2. FPGA Support
33.2.1. Intel(Altera) Quartus
33.2.2. Xilinx ISE/Vivado
33.3. OSVVM Support
33.4. UVVM Support
33.5. Generating External Tool Scripts from the DVT Build Configuration
33.6. Design Elaboration
33.6.1. Top candidates
33.6.2. Parameter values
33.6.3. Unelaborated Design
33.6.4. Debugging
33.6.5. Performance
33.7. Output and logging
34. Tips and Tricks
35. Q & A
35.1. I am new to Eclipse, where should I start from?
35.2. Where can I find DVT Help?
35.3. How do I see and configure the key shortcuts?
35.4. Are there any backup files in Eclipse?
35.5. Workspace in use, cannot launch eclipse...
35.6. Locking is not possible in the directory...
35.7. How to start DVT Eclipse with a different eclipse.ini
35.8. Save could not be completed
35.9. IBM Clearcase Plugin
35.10. How to use Working Sets for filtering Problems/Task/Search views?
35.11. How do I Access Files Outside Project Dir - Working with Linked Resources
35.12. Mapping Linux to Windows (/proj/ to Z:\proj\)
35.13. Subversive vs Subclipse
35.14. How do I associate a project with both DVT and CDT?
35.15. Can I use vi/vim along with DVT?
35.16. Can I perform dos2unix or unix2dos from DVT?
35.17. How can I configure Eclipse to use a local CVS repository?
35.18. I am using the Common Desktop Environment via Citrix and experiencing crashes. What can I do?
35.19. How do I change the background color of the Editor?
35.20. Some widget colors are not displayed properly. What can I do?
35.21. How do I change the tooltip colors?
35.22. How do I change Internet Proxy Settings?
35.23. Eclipse does not start, there is no Workspace, metadata or log file created
35.24. Workspace permissions
35.25. How do I link mylyn with Bugzilla?
35.26. How do I print source code?
35.27. How do I disable Eclipse Software Sites?
35.28. How do I revert to a previous version?
35.29. What are the most common shortcuts in DVT?
35.30. How does DVT integrate with CVS?
35.31. How to set an environment variable within a Run Configuration?
35.32. How to run a remote Unix command from DVT Eclipse for Windows?
35.33. Rebuild shortcut (Ctrl + Alt + R) does not work
35.34. I want to use an alias in a DVT Generic Run Configuration, but it's not recognized
35.35. How to set multiple paths as sources of predefined projects ?
35.36. Lines are suddenly changing indentation when I edit text or move the cursor through the editor.
35.37. How to change the directory where the build log file is saved ?
35.38. How to find the DVT logs on Linux/Unix ?
35.39. How to create resource filters ?
35.40. How to create custom shortcut and button for a Run Configuration?
35.41. I know that file.foo is present in the project location, but I can't see it in the Navigator View
35.42. How to copy the full path to the file in the current editor?
35.43. How to adjust the console logs filters matching parameters?
35.44. When I switch to Block (Column) Selection mode the font changes
35.45. In Block (Column) Selection mode I see strange editng artifacts
35.46. How to modify the font size in the code editors?
35.47. How to automatically checkout/lock files from the revision control system ?
35.48. How can I see if a file is read-only?
35.49. How can I open a file in DVT from the terminal?
35.50. How can I open a file in DVT from Questa?
35.51. How do I change the name of the xterm opened by a DVT Generic Run Configuration?
35.52. I get errors while installing or updating a plugin from an update site
36. What is New?
37. How to Report an Issue?
38. Legal Notices
39. Third Party Licenses