DVT e Language IDE User Guide
Rev. 24.1.5, 13 March 2024

DVT e Language 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 (Struct, Unit)
3.8.9. Quickly Open a File
3.8.10. Quickly Move Inside the Editor
3.8.11. Browse Through All the Available Types (Structs, Units, Enumerations)
3.8.12. Browse the AOP Extensions
3.8.13. Inspect the Struct Hierarchy and Struct Members
3.8.14. Inspect the Verification Hierarchy
3.8.15. Search for Entities
3.8.16. Use Content Assist (Autocomplete)
3.8.17. Use Code Templates
3.8.18. Track Tasks using TODO Markers
3.8.19. Format the Source Code
3.8.20. Quickly See the Current Scope in the Status Bar
3.8.21. Locate the Matching Bracket
3.8.22. Fold Code Regions in Order to Improve Readability
3.8.23. Load in Specman
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. Breadcrumb Navigation Bar
5.1. Verification Breadcrumb
5.2. Scope Breadcrumb
5.3. Filesystem Breadcrumb
6. Compile Checks
6.1. Compile Waivers
6.2. Semantic Checks
6.3. Naming Conventions Checking
7. Content Assist (Autocomplete)
7.1. Content assist for CamelCase and Underscore
7.2. Code Templates
8. Quick Fix Proposals
8.1. Correct Spelling In Comments and Strings
8.2. Create File From Build Config Editor
8.3. Create Imported File
8.4. Declare Enum Constant
8.5. Declare Event
8.6. Declare Variable
8.7. Did You Mean
8.8. Waive Compilation Problems
9. Quick Assist Proposals
9.1. Extract to Method
10. Content Filters
10.1. Content Filters XML syntax
10.2. Filtering by element type
10.3. Content Filters Examples
10.4. Predefined Content Filters
11. Code Templates
11.1. Code Templates in Autocomplete
11.2. Global Code Templates
11.3. Project Level Code Templates
11.4. Code Templates View
12. File Templates
13. Project Templates
13.1. What is a project template?
13.2. How to generate code from a project template
13.2.1. Step 1. Specify Directories
13.2.2. Step 2. Specify Parameters
13.3. Template Configuration
13.3.1. template-config.xml
13.3.2. template.config
13.4. Add from Template
14. Code Formatting
14.1. Whitespace
14.2. Indentation
14.3. Vertical Alignment
14.4. Line Wrapping
14.5. Disable Format for Code Sections
14.6. Format Multiple Files
14.7. External
14.8. Preferences Keys
15. Inspect Extensions (Layers)
16. Override Methods
16.1. Override Annotation
16.2. Override using the Dialog
16.3. Override Using the Type Hierarchy View
17. Extend Annotation
18. Semantic Search
19. Search for References (Usages, Readers or Writers)
20. Show Instances
21. Show Constraints
22. Show Emitters
23. Quick Search in Views
23.1. CamelCase
23.2. Simple Regex
23.3. Hierarchical Search
23.4. Search for Members
23.5. Search Port in Verification Hierarchy
23.6. Search all Method Extensions
24. Refactoring
24.1. Rename Refactoring
25. Diagrams
25.1. UML Diagrams
25.1.1. UML Diagrams - Select Types
25.1.2. UML Diagrams - Preferences
25.1.3. UML Diagrams - Legend
25.2. Architecture UML Diagrams
25.3. Sequences UML Diagrams
25.4. UVM Components Diagrams
25.4.1. Diagram Filters
25.5. Diagram Actions
25.6. Diagram Toolbar
25.7. Diagram Magnifier
25.8. WaveDrom Timing Diagrams
25.9. Bit Field Diagrams for vr_ad registers
26. Export 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 configure a filter?
27.3.3. How to invoke external builders?
27.3.4. External Builder Output
27.3.5. Source Code Markers - errors warnings
27.4. External Documentation
27.4.1. Configure External Documentation
27.4.2. Browse External Documentation
27.4.3. Search External Documentation
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. Macros Support
31.1. Inactive Code Highlight
31.1.1. Overview
31.1.2. Settings
31.2. Macro Expansion
31.2.1. Overview
31.2.2. Triggering
31.2.3. Tips
31.2.4. IMPORTANT NOTE
31.3. Macros and Quick Macros Views
31.4. Trace Macro Errors
32. Reminders (TODO Markers)
33. UVM Support
33.1. UVM Browser
33.2. OVM UVM Compliance Review
33.2.1. OVM UVM Compliance Review - Architecture Tab
33.2.2. OVM UVM Compliance Review - Checks Tab
33.2.3. OVM UVM Compliance Review - Statistics Tab
33.2.4. OVM UVM Compliance Review - HTML Report
33.3. UVM Content Filters
33.4. UVM Sequence Tree
33.5. UVM Verification Hierarchy
34. Settings Management
34.1. Managed Settings
34.2. Unmanaged Settings
34.3. User and Common Settings Location
34.4. Use Cases
34.4.1. Memory Allocation Thresholds
34.4.2. Workspace Preferences
34.4.3. Run Configurations
34.4.4. Compile Waivers
34.4.5. Content Filters
34.4.6. External Builders
34.4.7. Export HTML Documentation
34.4.8. Custom Pragmas
34.5. Examples
34.6. Deprecated Settings Management (before DVT 3.5)
34.6.1. Workspace Settings
34.6.2. Project Settings
34.6.3. Other Settings
34.6.4. Importing Preferences From a Different Workspace
34.6.5. Customizing Default Settings Using dvt.ini
35. Reference
35.1. Comments Formatting
35.1.1. Javadoc
35.1.2. Natural Docs
35.2. Common Shortcuts
35.3. Custom Pragmas
35.4. DVT Resource Monitor
35.5. Editor Right Click Menu
35.5.1. Folding
35.5.2. Macros
35.5.3. Source
35.5.4. Show
35.5.5. References
35.5.6. Refactor
35.6. Hyperlinks
35.6.1. Hyperlinks in Comments
35.7. Icons and Decorations
35.7.1. Icons
35.7.2. Decorations
35.7.3. Changing Icon Colors
35.7.4. Project Colors
35.8. Lazy Bring up Resources
35.9. Memory Monitor
35.10. Scripts
35.10.1. dvt.sh
35.10.2. dvt_cli.sh
35.10.3. dvt_kit_installer.sh
35.10.4. dvt_plugin_installer.sh
35.10.5. dvt_build.sh
35.10.6. evip2dvt.sh
35.11. Syntax Coloring
35.12. Themes
35.13. Tooltips
35.14. Toolbar Actions
35.15. Views
35.15.1. Checks View
35.15.2. Code Templates View
35.15.3. Compile Order View
35.15.4. Console View
35.15.5. Coverage View
35.15.6. Call Hierarchy View
35.15.7. Inspect View
35.15.8. Layers View
35.15.9. Macros View
35.15.10. Outline View
35.15.11. Problems View
35.15.12. Tasks View
35.15.13. Types View
35.15.14. Type Hierarchy View
35.15.15. UVM Browser View
35.15.16. UVM Sequence Tree View
35.15.17. Verification Hierarchy View
36. Application Notes
36.1. C/C++ support
36.2. Encrypted VIP Support
36.3. Output and logging
37. Tips and Tricks
38. Q & A
38.1. I am new to Eclipse, where should I start from?
38.2. Where can I find DVT Help?
38.3. How do I see and configure the key shortcuts?
38.4. Are there any backup files in Eclipse?
38.5. Workspace in use, cannot launch eclipse...
38.6. Locking is not possible in the directory...
38.7. How to start DVT Eclipse with a different eclipse.ini
38.8. Save could not be completed
38.9. IBM Clearcase Plugin
38.10. How do I Access Files Outside Project Dir - Working with Linked Resources
38.11. Handling UNRECOGNIZED Macros
38.12. Mapping Linux to Windows (/proj/ to Z:\proj\)
38.13. How to use Working Sets for filtering Problems/Task/Search views?
38.14. Whitespace in macro definition
38.15. Subversive vs Subclipse
38.16. How do I associate a project with both DVT and CDT?
38.17. Can I use vi/vim along with DVT?
38.18. Can I perform dos2unix or unix2dos from DVT?
38.19. How can I configure Eclipse to use a local CVS repository?
38.20. I am using the Common Desktop Environment via Citrix and experiencing crashes. What can I do?
38.21. How do I change the background color of the Editor?
38.22. Some widget colors are not displayed properly. What can I do?
38.23. How do I change the tooltip colors?
38.24. How do I change Internet Proxy Settings?
38.25. Eclipse does not start, there is no Workspace, metadata or log file created
38.26. Workspace permissions
38.27. How do I link mylyn with Bugzilla?
38.28. How do I print source code?
38.29. How do I disable Eclipse Software Sites?
38.30. How do I revert to a previous version?
38.31. What are the most common shortcuts in DVT?
38.32. How do I run Specman using IntelliGen?
38.33. How does DVT integrate with emacs?
38.34. How does DVT integrate with CVS?
38.35. How to set an environment variable within a Run Configuration?
38.36. How to run a remote Unix command from DVT Eclipse for Windows?
38.37. How do I tell DVT to skip some files from compilation?
38.38. Rebuild shortcut (Ctrl + Alt + R) does not work
38.39. I want to use an alias in a DVT Generic Run Configuration, but it's not recognized
38.40. Some files are missing from the VIPs transformed with evip2dvt.sh
38.41. How to set multiple paths as sources of predefined projects ?
38.42. Lines are suddenly changing indentation when I edit text or move the cursor through the editor.
38.43. How to change the directory where the build log file is saved ?
38.44. How to find the DVT logs on Linux/Unix ?
38.45. How to create resource filters ?
38.46. How to create custom shortcut and button for a Run Configuration?
38.47. I know that file.foo is present in the project location, but I can't see it in the Navigator View
38.48. How to copy the full path to the file in the current editor?
38.49. How to adjust the console logs filters matching parameters?
38.50. When I switch to Block (Column) Selection mode the font changes
38.51. In Block (Column) Selection mode I see strange editng artifacts
38.52. How to modify the font size in the code editors?
38.53. How to automatically checkout/lock files from the revision control system ?
38.54. How can I see if a file is read-only?
38.55. How can I open a file in DVT from the terminal?
38.56. How can I open a file in DVT from Questa?
38.57. How do I change the name of the xterm opened by a DVT Generic Run Configuration?
38.58. I get errors while installing or updating a plugin from an update site
39. What is New?
40. How to Report an Issue?
41. Legal Notices
42. Third Party Licenses