DVT SystemVerilog IDE User Guide
Rev. 17.1.26, 14 September 2017

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. default.build
4.2. Auto-config
4.3. Emulating compiler invocations
4.4. Multiple .build Files
4.5. Compatibility Modes
4.5.1. Default DVT Compatibility Mode
4.5.2. vcs.vlogan Compatibility Mode
4.5.3. vcs.vhdlan Compatibility Mode
4.5.4. ius.irun Compatibility Mode
4.5.5. questa.vlog Compatibility Mode
4.5.6. questa.vcom Compatibility Mode
4.6. Paths
4.7. Strings
4.8. Comments
4.9. Environment Variables
4.10. Including Other Argument Files
4.11. Build Persistence
4.12. DVT Auto-Linked
4.13. Run a Script Before Build
4.14. All Build Directives
4.15. e Language Test Files
4.16. e Language SPECMAN_PATH
4.17. SystemVerilog OVM or UVM Library Compilation
4.18. Xilinx 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. Update Extern Prototype/Implementation
7.18. Update Module Instance
7.19. Update Virtual Method Signature
7.20. Waive Compilation Problems
8. Quick Assist Proposals
8.1. Extract to Variable
8.2. Extract to Method
8.3. Join Extern and Implementation
8.4. Split to Extern and Implementation
8.5. 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. 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. Code Factory
23. Refactoring
23.1. Rename Refactoring
23.2. Extract to Variable
23.3. Extract to Method
23.4. Join Extern and Implementation
23.5. Split to Extern and Implementation
23.6. Connect Instances Across the Design Hierarchy
23.6.1. Connect Instances Using New Ports
23.6.2. Connect Instances Using Existing Ports
23.6.3. Preview Structural Changes in the Design Hierarchy
23.6.4. Connect Instances Toolbar
23.7. Add Port to Module from Selected Field
23.8. Add New Port to Module
23.9. Add New Parameter to Module
23.10. Refactoring Scripts
23.10.1. Writing a Refactoring Script
23.10.2. Applying a Refactoring Script
24. Diagrams
24.1. UML Diagrams
24.1.1. UML Diagrams - Select Types
24.1.2. UML Diagrams - Preferences
24.1.3. UML Diagrams - Legend
24.2. Architecture UML Diagrams
24.3. Sequences UML Diagrams
24.4. Design Diagrams
24.4.1. Schematic Diagrams
24.4.2. Flow Diagrams
24.4.3. Block Diagrams
24.4.4. Finite-State Machine Diagrams
24.5. UVM Components Diagrams
24.5.1. Component Diagrams from Verification Hierarchy
24.5.2. Component Diagrams from Simulation
24.6. Diagram Actions
24.7. Diagram Toolbar
25. Export HTML Documentation
25.1. Export HTML Documentation Wizard
25.2. Comments Formatting
25.2.1. JavaDoc
25.2.2. NaturalDocs
25.3. Customizing 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
26.4. External Documentation
26.4.1. Configure External Documentation
26.4.2. Browse External Documentation
26.4.3. Search External Documentation
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. Notes
29.4. Examples
29.5. Makefile Example
29.6. Commands
29.6.1. Create a Project (Mixed-Language Capable)
29.6.2. Create a Project From an Existing Template
29.6.3. Import an Existing Project
29.6.4. List Compiled Files
29.6.5. Launch a Run Configuration
29.6.6. Open a File
29.6.7. Close a File
29.6.8. Open a Custom Dialog
29.6.9. Refresh a project
29.6.10. Quit
29.6.11. Query the running status
29.6.12. Print version
30. Macros Support
30.1. Inactive Code Highlight
30.1.1. Overview
30.1.2. Settings
30.2. Macro Expansion
30.2.1. Overview
30.2.2. Triggering
30.2.3. Tips
30.2.4. IMPORTANT NOTE
30.3. Macros and Quick Macros Views
31. Reminders (TODO Markers)
32. OVM Support
32.1. OVM Compliance Review
32.1.1. Architecture Tab
32.1.2. Checks Tab
32.1.3. Statistics Tab
32.1.4. Waivers Tab
32.1.5. HTML Report
32.1.6. Problems View Integration
32.2. OVM Field Editor
32.2.1. Triggering
32.2.2. Interface
32.2.3. Problems
32.2.4. Tips
32.3. OVM Smart Log
32.4. Quick OVM Documentation Access
32.5. OVM Templates
33. UVM Support
33.1. UVM Browser
33.2. UVM Compliance Review
33.2.1. Architecture Tab
33.2.2. Checks Tab
33.2.3. Statistics Tab
33.2.4. Waivers Tab
33.2.5. HTML Report
33.2.6. Problems View Integration
33.3. UVM Content Filters
33.4. UVM Factory Queries
33.5. UVM Field Editor
33.5.1. Triggering
33.5.2. Interface
33.5.3. Problems
33.5.4. Tips
33.6. UVM Sequence Tree
33.7. UVM Smart Log
33.8. UVM Templates
33.9. UVM Verification Hierarchy
33.10. OVM to UVM Migration
33.10.1. Triggering
33.10.2. Preferences
33.10.3. Review changes
34. VMM Support
34.1. VMM Smart Log
34.2. Quick VMM Documentation Access
34.3. VMM Templates
35. Settings Management
35.1. Managed Settings
35.2. Unmanaged Settings
35.3. User and Common Settings Location
35.4. Use Cases
35.4.1. Memory Allocation Thresholds
35.4.2. Workspace Preferences
35.4.3. Run Configurations
35.4.4. Compile Waivers
35.4.5. Content Filters
35.4.6. External Builders
35.4.7. Export HTML Documentation
35.5. Examples
35.6. Deprecated Settings Management (before DVT 3.5)
35.6.1. Workspace Settings
35.6.2. Project Settings
35.6.3. Other Settings
35.6.4. Importing Preferences From a Different Workspace
35.6.5. Customizing Default Settings Using dvt.ini
36. Reference
36.1. Common Shortcuts
36.2. Editor Right Click Menu
36.2.1. Folding
36.2.2. Macros
36.2.3. Source
36.2.4. Code Factory
36.2.5. Show
36.2.6. References
36.2.7. Trace
36.2.8. Refactor
36.3. Hyperlinks
36.4. Icons and Decorations
36.4.1. Icons
36.4.2. Decorations
36.4.3. Changing Icon Colors
36.4.4. Project Colors
36.5. Scripts
36.5.1. dvt.sh
36.5.2. dvt_cli.sh
36.5.3. dvt_from_rawtokens.sh
36.5.4. dvt_kit_installer.sh
36.5.5. dvt_plugin_installer.sh
36.6. Syntax Coloring
36.7. Toolbar Actions
36.8. Tooltips
36.9. Views
36.9.1. Checks View
36.9.2. Code Templates View
36.9.3. Compile Order View
36.9.4. Console View
36.9.5. Coverage View
36.9.6. Call Hierarchy View
36.9.7. Design Hierarchy View
36.9.8. Inspect View
36.9.9. Layers View
36.9.10. Macros View
36.9.11. Outline View
36.9.12. Problems View
36.9.13. Tasks View
36.9.14. Trace Connections View
36.9.15. Types View
36.9.16. Type Hierarchy View
36.9.17. UVM Browser View
36.9.18. UVM Sequence Tree View
36.9.19. Verification Hierarchy View
37. Tips and Tricks
38. Application Notes
38.1. Encrypted VIP Support
38.2. Preprocessed Files Support
39. Q & A
39.1. I am new to Eclipse, where should I start from?
39.2. Where can I find DVT Help?
39.3. How do I see and configure the key shortcuts?
39.4. Are there any backup files in Eclipse?
39.5. Workspace in use, cannot launch eclipse...
39.6. Locking is not possible in the directory...
39.7. How to start DVT Eclipse with a different eclipse.ini
39.8. Save could not be completed
39.9. IBM Clearcase Plugin
39.10. Non existing package mti_fli
39.11. DVT is crashing with "Problematic frame ld-linux-x86-64.so.2 _dl_rtld_di_serinfo
39.12. libxul.so undefined symbol
39.13. How to use Working Sets for filtering Problems/Task/Search views?
39.14. How can I do an incremental textual search in any view?
39.15. Diagram error - image has not been created
39.16. How to handle Simulator and Command Line Macros
39.17. How do I Access Files Outside Project Dir - Working with Linked Resources
39.18. Mapping Linux to Windows (/proj/ to Z:\proj\)
39.19. Subversive vs Subclipse
39.20. How do I associate a project with both DVT and CDT?
39.21. Can I use vi/vim along with DVT?
39.22. Can I perform dos2unix or unix2dos from DVT?
39.23. How can I configure Eclipse to use a local CVS repository?
39.24. I am using the Common Desktop Environment via Citrix and experiencing crashes. What can I do?
39.25. How do I change the background color of the Editor?
39.26. How do I change the color of the interface?
39.27. How to apply the dark color theme or other themes?
39.28. How do I change the tooltip colors?
39.29. How do I change Internet Proxy Settings?
39.30. Eclipse does not start, there is no Workspace, metadata or log file created
39.31. Workspace permissions
39.32. How to install our server as a service in Windows?
39.33. How do I link mylyn with Bugzilla?
39.34. How do I print source code?
39.35. How do I disable Eclipse Software Sites?
39.36. How do I revert to a previous version?
39.37. What are the most common shortcuts in DVT?
39.38. How does DVT integrate with emacs?
39.39. How does DVT integrate with CVS?
39.40. How to set an environment variable within a Run Configuration?
39.41. How to run a remote Unix commnad from DVT Eclipse for Windows?
39.42. Rebuild shortcut (Ctrl + Alt + R) does not work
39.43. Sometimes I experience DVT GUI hangs, what should I do?
39.44. Sometimes I experience DVT GUI hangs when switching from another X application to DVT
39.45. I want to use an alias in a DVT Generic Run Configuration, but it's not recognized
39.46. How to set multiple paths as sources of predefined projects ?
39.47. Lines are suddenly changing indentation when I edit text or move the cursor through the editor.
39.48. How to change the directory where the build log file is saved ?
39.49. How to find the DVT logs on Linux/Unix ?
39.50. How to create resource filters ?
39.51. How to create custom shortcut and button for a Run Configuration?
39.52. I know that file.foo is present in the project location, but I can't see it in the Navigator View
39.53. How to copy the full path to the file in the current editor?
39.54. How to adjust the console logs filters matching parameters?
39.55. When I switch to Block (Column) Selection mode the font changes
39.56. In Block (Column) Selection mode I see strange editng artifacts
39.57. How to modify the font size in the code editors?
39.58. How to automatically checkout/lock files from the revision control system ?
39.59. How can I see if a file is read-only?
39.60. How can I open a file in DVT from the terminal?
39.61. How do I change the name of the xterm opened by a DVT Generic Run Configuration?
40. What is New?
41. How to Report an Issue?
42. Legal Notices
43. Third Party Licenses