DVT SystemVerilog IDE User Guide
Rev. 18.1.21, 6 July 2018

DVT SystemVerilog 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. Check the DVT 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 (Class, Module, Interface)
3.8.9. Quickly Inspect the Class Hierarchy
3.8.10. Quickly Open a File
3.8.11. Quickly Move Inside the Editor
3.8.12. Inspect the Class Hierarchy and Class Members
3.8.13. Inspect the Design Hierarchy
3.8.14. Inspect the Verification Hierarchy
3.8.15. Browse Through All the Available Types (Classes, Modules, Interfaces)
3.8.16. Look for the Implementation of an Extern Function or Task
3.8.17. Search for Entities
3.8.18. Use Content Assist (Autocomplete)
3.8.19. Use Code Templates
3.8.20. Use Module Auto Instance
3.8.21. Expand Macros (Apply Preprocessing)
3.8.22. Trace Macro Errors
3.8.23. Track Tasks using TODO Markers
3.8.24. Quickly See the Current Scope in the Status Bar
3.8.25. Fold Code Regions in Order to Improve Readability
3.8.26. Access the Context Sensitive Help
4. Build Configurations
4.1. Non-top files
4.2. default.build
4.3. Auto-config
4.4. Emulating compiler invocations
4.5. Multiple .build Files
4.6. Compatibility Modes
4.6.1. Default DVT Compatibility Mode
4.6.2. vcs.vlogan Compatibility Mode
4.6.3. vcs.vhdlan Compatibility Mode
4.6.4. ius.irun Compatibility Mode
4.6.5. questa.vlog Compatibility Mode
4.6.6. questa.vcom Compatibility Mode
4.6.7. gcc Compatibility Mode
4.7. Paths
4.8. Strings
4.9. Comments
4.10. Environment Variables
4.11. Including Other Argument Files
4.12. Build Persistence
4.13. DVT Auto-Linked
4.14. Run a Script Before Build
4.15. All Build Directives
4.16. e Language Test Files
4.17. e Language SPECMAN_PATH
4.18. SystemVerilog OVM or UVM Library Compilation
4.19. Xilinx Libraries Compilation
4.20. Intel(Altera) Quartus Libraries Compilation
5. Compile Checks
5.1. Compile Waivers
5.2. Semantic Checks
5.3. Non Standard Checks
6. Content Assist (Autocomplete)
6.1. Content assist for CamelCase and Underscore
6.2. Code Templates
6.3. Module Automatic Instantiation
6.4. Override Functions Using Autocomplete
7. Quick Fix Proposals
7.1. Add Parameter to Module
7.2. Add Port to Module
7.3. Add Signal to Sensitivity List
7.4. Add Virtual Qualifier to Interface Type
7.5. Correct Spelling In Comments and Strings
7.6. Create File From Build Config Editor
7.7. Create Included File
7.8. Declare Method
7.9. Declare Variable
7.10. Did You Mean
7.11. Fully Qualify Type
7.12. Implement Extern Method
7.13. Implement Missing Pure Virtual Methods
7.14. Import Type
7.15. Remove 'local' or 'protected' Qualifier
7.16. Remove Signal from Sensitivity List
7.17. Remove Signal Never Used
7.18. Update Extern Prototype/Implementation
7.19. Update Module Instance
7.20. Update Virtual Method Signature
7.21. Waive Compilation Problems
8. Quick Assist Proposals
8.1. Bind Method Call Arguments by Name
8.2. Bind Method Call Arguments by Position
8.3. Connect Instance Ports by Name
8.4. Connect Instance Ports by Position
8.5. Expand .* Port Connections
8.6. Extract to Variable
8.7. Extract to Method
8.8. Join Extern and Implementation
8.9. Split to Extern and Implementation
8.10. Rename in File
9. Content Filters
9.1. Content Filters XML syntax
9.2. Content Filters Examples
9.3. 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.config
12.4. Add from Template
13. Code Formatting
13.1. Whitespace
13.2. Indentation
13.3. Vertical Alignment
13.4. Line Wrapping
13.5. Disable Format for Code Sections
13.6. Format Multiple Files
13.7. External
14. Override Functions
14.1. Override Annotation
14.2. Inspect Overrides in the Quick Type Hierarchy View
14.3. Inspect Overrides in the Layers View
14.4. Override Using the Dialog
14.5. Override Using Autocomplete
14.6. Override Using the Type Hierarchy View
15. Generate Getters and Setters
16. Module Automatic Instantiation
16.1. Autoinstance Using Autocomplete
16.2. Autoinstance Using Drag and Drop
17. Semantic Search
18. Search for References (Usages)
19. Show Constraints
20. Quick Search in Views
20.1. CamelCase
20.2. Simple Regex
20.3. Hierarchical Search
20.4. Search for Members
20.5. Search Port in Design Hierarchy
20.6. Search Port in Verification Hierarchy
20.7. Search all UVM Phase Overrides
20.8. Search Global API
21. Trace Connections
21.1. Trace Connections from Design Hierarchy
21.2. Trace Connections from Editor
21.3. Trace Connections View
21.4. Trace Path
22. Breadcrumb Navigation Bar
23. Code Factory
24. Refactoring
24.1. Rename Refactoring
24.2. Bind Method Call Arguments by Name
24.3. Bind Method Call Arguments by Position
24.4. Expand .* Port Connections
24.5. Extract to Variable
24.6. Extract to Method
24.7. Join Extern and Implementation
24.8. Split to Extern and Implementation
24.9. Connect Instances Across the Design Hierarchy
24.9.1. Connect Instances Using New Ports
24.9.2. Connect Instances Using Existing Ports
24.9.3. Preview Structural Changes in the Design Hierarchy
24.9.4. Connect Instances Toolbar
24.10. Add Port to Module from Selected Field
24.11. Add New Port to Module
24.12. Add New Parameter to Module
24.13. Refactoring Scripts
24.13.1. Writing a Refactoring Script
24.13.2. Applying a Refactoring Script
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. Design Diagrams
25.4.1. Schematic Diagrams
25.4.2. Flow Diagrams
25.4.3. Block Diagrams
25.4.4. Finite-State Machine Diagrams
25.4.5. Diagram Filters
25.4.6. Select Instances
25.4.7. Breadcrumb Navigation Bar
25.4.8. Low Power Format Support
25.5. UVM Components Diagrams
25.5.1. Component Diagrams from Verification Hierarchy
25.5.2. Component Diagrams from Simulation
25.5.3. Diagram Filters
25.6. Diagram Actions
25.7. Diagram Toolbar
26. Low Power Format Support
27. Export HTML Documentation
27.1. Export HTML Documentation Wizard
27.2. Comments Formatting
27.2.1. JavaDoc
27.2.2. NaturalDocs
27.3. Customizing Documentation
28. External Tools Integration
28.1. Run Configurations
28.1.1. Run Configuration Session Type
28.1.2. Custom Shortcut and Button for a Run Configuration
28.1.3. Using environment variables in DVT Generic Run Configurations
28.1.4. Using an alias in a DVT Generic Run Configuration
28.1.5. DVT Generic Run Configuration Variables
28.2. Smart Log
28.2.1. Smart Log - Filters
28.2.2. Smart Log - Hyperlinks
28.2.3. Smart Log - Styles
28.3. External Builders
28.3.1. How to define a new external builder
28.3.2. How to invoke external builders
28.3.3. External Builder Output
28.3.4. Source Code Markers - errors warnings
28.4. External Documentation
28.4.1. Configure External Documentation
28.4.2. Browse External Documentation
28.4.3. Search External Documentation
29. Debugger Integration
29.1. Simulation Prerequisites
29.2. Launch a Debug Simulation
29.3. Connect to an Existing Simulation
29.4. Breakpoints
29.5. Threads, Call Stack, Stepping
29.6. Variables
29.7. Watch Expressions
29.8. Debug Specific Configurations
30. Custom Dialogs
30.1. Quick Steps
30.2. Customizing the Dialog Output
30.3. SWT/XML Reference
30.3.1. Layouts
30.3.2. Widgets
30.4. Custom Dialog Snapshots
30.4.1. Custom Dialog Snapshots File Syntax (XML)
31. Command Line Interface
31.1. dvt_cli.sh
31.2. Syntax
31.3. Notes
31.4. Examples
31.5. Makefile Example
31.6. Commands
31.6.1. Create a Project (Mixed-Language Capable)
31.6.2. Create a Project From an Existing Template
31.6.3. Import an Existing Project
31.6.4. List Compiled Files
31.6.5. Launch a Run Configuration
31.6.6. Open a File
31.6.7. Close a File
31.6.8. Open a Custom Dialog
31.6.9. Refresh a project
31.6.10. Quit
31.6.11. Query the running status
31.6.12. Print version
32. Macros Support
32.1. Inactive Code Highlight
32.1.1. Overview
32.1.2. Settings
32.2. Macro Expansion
32.2.1. Overview
32.2.2. Triggering
32.2.3. Tips
32.2.4. IMPORTANT NOTE
32.3. Macros and Quick Macros Views
33. Reminders (TODO Markers)
34. OVM Support
34.1. OVM Compliance Review
34.1.1. Architecture Tab
34.1.2. Checks Tab
34.1.3. Statistics Tab
34.1.4. Waivers Tab
34.1.5. HTML Report
34.1.6. Problems View Integration
34.2. OVM Field Editor
34.2.1. Triggering
34.2.2. Interface
34.2.3. Problems
34.2.4. Tips
34.3. OVM Smart Log
34.4. Quick OVM Documentation Access
34.5. OVM Templates
35. UVM Support
35.1. UVM Browser
35.2. UVM Compliance Review
35.2.1. Architecture Tab
35.2.2. Checks Tab
35.2.3. Statistics Tab
35.2.4. Waivers Tab
35.2.5. HTML Report
35.2.6. Problems View Integration
35.3. UVM Content Filters
35.4. UVM Factory Queries
35.5. UVM Field Editor
35.5.1. Triggering
35.5.2. Interface
35.5.3. Problems
35.5.4. Tips
35.6. UVM Sequence Tree
35.7. UVM Smart Log
35.8. UVM Templates
35.9. UVM Verification Hierarchy
35.10. OVM to UVM Migration
35.10.1. Triggering
35.10.2. Preferences
35.10.3. Review changes
36. VMM Support
36.1. VMM Smart Log
36.2. Quick VMM Documentation Access
36.3. VMM Templates
37. Settings Management
37.1. Managed Settings
37.2. Unmanaged Settings
37.3. User and Common Settings Location
37.4. Use Cases
37.4.1. Memory Allocation Thresholds
37.4.2. Workspace Preferences
37.4.3. Run Configurations
37.4.4. Compile Waivers
37.4.5. Content Filters
37.4.6. External Builders
37.4.7. Export HTML Documentation
37.5. Examples
37.6. Deprecated Settings Management (before DVT 3.5)
37.6.1. Workspace Settings
37.6.2. Project Settings
37.6.3. Other Settings
37.6.4. Importing Preferences From a Different Workspace
37.6.5. Customizing Default Settings Using dvt.ini
38. Reference
38.1. Common Shortcuts
38.2. Editor Right Click Menu
38.2.1. Folding
38.2.2. Macros
38.2.3. Source
38.2.4. Code Factory
38.2.5. Show
38.2.6. References
38.2.7. Trace
38.2.8. Refactor
38.3. Hyperlinks
38.3.1. Hyperlinks in Comments
38.4. Icons and Decorations
38.4.1. Icons
38.4.2. Decorations
38.4.3. Changing Icon Colors
38.4.4. Project Colors
38.5. Scripts
38.5.1. dvt.sh
38.5.2. dvt_cli.sh
38.5.3. dvt_from_rawtokens.sh
38.5.4. dvt_kit_installer.sh
38.5.5. dvt_plugin_installer.sh
38.6. Syntax Coloring
38.7. Toolbar Actions
38.8. Tooltips
38.9. Views
38.9.1. Checks View
38.9.2. Code Templates View
38.9.3. Compile Order View
38.9.4. Console View
38.9.5. Coverage View
38.9.6. Call Hierarchy View
38.9.7. Design Hierarchy View
38.9.8. Inspect View
38.9.9. Layers View
38.9.10. Macros View
38.9.11. Outline View
38.9.12. Problems View
38.9.13. Tasks View
38.9.14. Trace Connections View
38.9.15. Types View
38.9.16. Type Hierarchy View
38.9.17. UVM Browser View
38.9.18. UVM Sequence Tree View
38.9.19. Verification Hierarchy View
39. Application Notes
39.1. Encrypted VIP Support
39.2. Preprocessed Files Support
39.3. FPGA Support
39.3.1. Intel(Altera) Quartus
39.3.2. Xilinx ISE/Vivado
40. Tips and Tricks
41. Q & A
41.1. I am new to Eclipse, where should I start from?
41.2. Where can I find DVT Help?
41.3. How do I see and configure the key shortcuts?
41.4. Are there any backup files in Eclipse?
41.5. Workspace in use, cannot launch eclipse...
41.6. Locking is not possible in the directory...
41.7. How to start DVT Eclipse with a different eclipse.ini
41.8. Save could not be completed
41.9. IBM Clearcase Plugin
41.10. Non existing package mti_fli
41.11. DVT is crashing with "Problematic frame ld-linux-x86-64.so.2 _dl_rtld_di_serinfo
41.12. libxul.so undefined symbol
41.13. How to use Working Sets for filtering Problems/Task/Search views?
41.14. How can I do an incremental textual search in any view?
41.15. Diagram error - image has not been created
41.16. How to handle Simulator and Command Line Macros
41.17. How do I Access Files Outside Project Dir - Working with Linked Resources
41.18. Mapping Linux to Windows (/proj/ to Z:\proj\)
41.19. Subversive vs Subclipse
41.20. How do I associate a project with both DVT and CDT?
41.21. Can I use vi/vim along with DVT?
41.22. Can I perform dos2unix or unix2dos from DVT?
41.23. How can I configure Eclipse to use a local CVS repository?
41.24. I am using the Common Desktop Environment via Citrix and experiencing crashes. What can I do?
41.25. How do I change the background color of the Editor?
41.26. How do I change the color of the interface?
41.27. How to apply the dark color theme or other themes?
41.28. How do I change the tooltip colors?
41.29. How do I change Internet Proxy Settings?
41.30. Eclipse does not start, there is no Workspace, metadata or log file created
41.31. Workspace permissions
41.32. How to install our server as a service in Windows?
41.33. How do I link mylyn with Bugzilla?
41.34. How do I print source code?
41.35. How do I disable Eclipse Software Sites?
41.36. How do I revert to a previous version?
41.37. What are the most common shortcuts in DVT?
41.38. How does DVT integrate with emacs?
41.39. How does DVT integrate with CVS?
41.40. How to set an environment variable within a Run Configuration?
41.41. How to run a remote Unix commnad from DVT Eclipse for Windows?
41.42. Rebuild shortcut (Ctrl + Alt + R) does not work
41.43. Sometimes I experience DVT GUI hangs, what should I do?
41.44. Sometimes I experience DVT GUI hangs when switching from another X application to DVT
41.45. I want to use an alias in a DVT Generic Run Configuration, but it's not recognized
41.46. How to set multiple paths as sources of predefined projects ?
41.47. Lines are suddenly changing indentation when I edit text or move the cursor through the editor.
41.48. How to change the directory where the build log file is saved ?
41.49. How to find the DVT logs on Linux/Unix ?
41.50. How to create resource filters ?
41.51. How to create custom shortcut and button for a Run Configuration?
41.52. I know that file.foo is present in the project location, but I can't see it in the Navigator View
41.53. How to copy the full path to the file in the current editor?
41.54. How to adjust the console logs filters matching parameters?
41.55. When I switch to Block (Column) Selection mode the font changes
41.56. In Block (Column) Selection mode I see strange editng artifacts
41.57. How to modify the font size in the code editors?
41.58. How to automatically checkout/lock files from the revision control system ?
41.59. How can I see if a file is read-only?
41.60. How can I open a file in DVT from the terminal?
41.61. How can I open a file in DVT from Questa?
41.62. How do I change the name of the xterm opened by a DVT Generic Run Configuration?
42. What is New?
43. How to Report an Issue?
44. Legal Notices
45. Third Party Licenses