DVT SystemVerilog IDE User Guide
Rev. 24.2.25, 31 October 2024
Go to Product Page
Installation Checklist
Install DVT Using a pre-packed Distribution
Install DVT Using the Update Site
Set the License
Predefined Projects
Getting Started
What is a Workspace
What is a Project
Project Natures
Workspace and Workbench
Refresh
Linked Resources
Backup and Local History
Basic Tutorial
Switch to the DVT Perspective
Open a Project
Configure the Build
Build the Project
Inspect the Compilation Errors
See Comments in Tooltips
Use Hyperlinks to Move Around in the Code
Quickly Open a Type (Class, Module, Interface)
Quickly Inspect the Class Hierarchy
Quickly Open a File
Quickly Move Inside the Editor
Inspect the Class Hierarchy and Class Members
Inspect the Design Hierarchy
Inspect the Verification Hierarchy
Browse Through All the Available Types (Classes, Modules, Interfaces)
Look for the Implementation of an Extern Function or Task
Search for Entities
Use Content Assist (Autocomplete)
Use Code Templates
Use Module Auto Instance
Expand Macros (Apply Preprocessing)
Trace Macro Errors
Track Tasks using TODO Markers
Quickly See the Current Scope in the Status Bar
Fold Code Regions in Order to Improve Readability
Access the Context Sensitive Help
Build Configurations
Non-top files
default.build
Auto-config
Simulator Log-config
Emulating compiler invocations
Multiple .build Files
Compatibility Modes
Default DVT Compatibility Mode
gcc Compatibility Mode
ius.irun Compatibility Mode
ius.perspec Compatibility Mode
questa.vcom Compatibility Mode
questa.vlog Compatibility Mode
questa.qrun Compatibility Mode
vcs.vhdlan Compatibility Mode
vcs.vlogan Compatibility Mode
xcelium.xrun Compatibility Mode
Paths
Strings
Comments
Environment Variables
Including Other Argument Files
Build Persistence
DVT Auto-Linked
Run a Script Before Build
All Build Directives
e Language Test Files
e Language SPECMAN_PATH
SystemVerilog OVM or UVM Library Compilation
Xilinx Libraries Compilation
Intel(Altera) Quartus Libraries Compilation
Questa Libraries Compilation
Use of External Programs
Compile Checks
Compile Waivers
Semantic Checks
Synthesis Checks
Performance Checks
Dead Code Checks
Non Standard Checks
Content Assist (Autocomplete)
Content assist for CamelCase and Underscore
Code Templates
Module Automatic Instantiation
Override Functions Using Autocomplete
Implement Extern Functions Using Autocomplete
Use Assignment Pattern for Struct Type Variable
Quick Fix Proposals
Add Parameter to Module
Add Port to Module
Add Signal to Sensitivity List
Add Virtual Qualifier to Interface Type
Correct Spelling In Comments and Strings
Create Class In New File
Create File From Build Config Editor
Create Included File
Create Interface Class In New File
Declare Extern Prototype
Declare Method
Declare Variable
Did You Mean
Explicitly Declare
Fully Qualify Type
Implement Extern Constraint
Implement Extern Method
Implement Missing Pure Virtual Methods
Import Type
Remove 'local' or 'protected' Qualifier
Remove Signal from Sensitivity List
Remove Signal Never Used
Update Extern Prototype/Implementation
Update Module Instance
Update Virtual Method Signature
Waive Compilation Problems
Quick Assist Proposals
Bind Method Call Arguments by Name
Bind Method Call Arguments by Position
Connect Instance Ports by Name
Connect Instance Ports by Position
Collapse Macro
Expand Macro
Expand .* Port Connections
Extract to Variable
Extract to Method
Extract to Module
Move Selection to New File
Join Extern and Implementation
Split to Extern and Implementation
Rename in File
AI Assistant
Overview
Getting Started
Key Terms
Sessions
Blueprints
Prompting
Symbols
Snippets
Working in Chat
List of Buttons, Shortcuts and Commands
Working in Editor
Reference
List of Commands
Predefined Blueprints
Custom Blueprints
Predefined Snippets
Custom Snippets
LLM Configuration
How to Set-up Local LLMs Using Ollama
Troubleshooting
Why do I get unexpected replies?
Why do I get different replies for the same request?
What to do if I get errors or find a bug?
Content Filters
Content Filters XML syntax
Filtering by element type
Content Filters Examples
Predefined Content Filters
>
Code Templates
Code Templates in Autocomplete
Constraint Code Templates
Method Code Templates
Global Code Templates
Project Level Code Templates
Code Templates View
File Templates
Project Templates
What is a project template?
How to generate code from a project template
Step 1. Specify Directories
Step 2. Specify Parameters
Template Configuration
template-config.xml
template.config
Add from Template
Code Formatting
Whitespace
Indentation
Vertical Alignment
Line Wrapping
Disable Format for Code Sections
Format Multiple Files
External
Preferences Keys
Automatic Indentation As You Type
Override Functions
Override Annotation
Inspect Overrides in the Quick Type Hierarchy View
Inspect Overrides in the Layers View
Override Using the Dialog
Override Using Autocomplete
Override Using the Type Hierarchy View
Generate Getters and Setters
Module Automatic Instantiation
Autoinstance Using Autocomplete
Autoinstance Using Drag and Drop
Semantic Search
Show Usages, Readers or Writers
Favorite Searches
Show Constraints
Show Instances
Show Instances in the Search View
Show Instances in the Design Hierarchy View
Quick Search in Views
CamelCase
Simple Regex
Hierarchical Search
Search for Members
Search Port in Design Hierarchy
Search Port in Verification Hierarchy
Search all UVM Phase Overrides
Search Global API
Trace Connections
Trace Connections from Design Hierarchy
Trace Connections from Editor
Trace Connections View
Trace Path
Breadcrumb Navigation Bar
Design Breadcrumb
Verification Breadcrumb
Scope Breadcrumb
Filesystem Breadcrumb
Code Factory
Refactoring
Rename Refactoring
Rename Port Across the Design Hierarchy
Rename File
Bind Method Call Arguments by Name
Bind Method Call Arguments by Position
Connect Instance Ports by Name
Connect Instance Ports by Position
Expand .* Port Connections
Extract to Variable
Extract to Method
Extract to Module
Move Selection to New File
Join Extern and Implementation
Split to Extern and Implementation
Change Method Signature
Connect Instances Across the Design Hierarchy
Connect Instances Using New Ports
Connect Instances Using Existing Ports
Structural Changes Preview Diagram
Refactoring Connect View
Add Port to Module from Selected Field
Add New Port to Module
Add New Parameter to Module
Refactoring Scripts
Writing a Refactoring Script
Applying a Refactoring Script
Diagrams
UML Diagrams
UML Diagrams - Select Types
UML Diagrams - Preferences
UML Diagrams - Legend
Architecture UML Diagrams
Sequences UML Diagrams
Design Diagrams
Schematic Diagrams
Flow Diagrams
Block Diagrams
Finite-State Machine Diagrams
Diagram Filters
Design Diagram Actions
Breadcrumb Navigation Bar
Low Power Format Support
Supply Network Diagram
UVM Components Diagrams
Component Diagrams from Verification Hierarchy
Component Diagrams from Simulation
Diagram Filters
Diagram Actions
Diagram Toolbar
Diagram Magnifier
WaveDrom Timing Diagrams
Bit Field Diagrams
Bit Field Diagrams for UVM registers
Bit Field Diagrams for packed data types
Low Power Format Support
Supply Network Diagram
Export HTML/PDF Documentation
Preview HTML Documentation
External Tools Integration
Run Configurations
Run Configuration Session Type
Custom Shortcut and Button for a Run Configuration
Using environment variables in DVT Generic Run Configurations
Using an alias in a DVT Generic Run Configuration
DVT Generic Run Configuration Variables
Smart Log
Smart Log - Filters
Smart Log - Hyperlinks
Smart Log - Styles
External Builders
How to define a new external builder
How to invoke external builders
External Builder Output
Source Code Markers - errors warnings
External Documentation
Configure External Documentation
Browse External Documentation
Search External Documentation
Debugger Integration
Simulation Prerequisites
Launch a Debug Simulation
Connect to an Existing Simulation
Breakpoints
Threads, Call Stack, Stepping
Variables
Watch Expressions
Debug Specific Configurations
Custom Dialogs
Quick Steps
Customizing the Dialog Output
SWT/XML Reference
Layouts
Widgets
Custom Dialog Snapshots
Custom Dialog Snapshots File Syntax (XML)
Command Line Interface
dvt_cli.sh
Syntax
Examples
Makefile Example
Commands
Create a Project (Mixed-Language Capable)
Create a Project From an Existing Template
Import an Existing Project
List Compiled Files
Compare Files
Launch a Run Configuration
Open a File
Close a File
Open a Custom Dialog
Open a Perspective
Refresh a Project
Rebuild a Project
Print Edited File
Quit
Query the running status
Print version
Run Performance Exploration
Macros Support
Inactive Code Highlight
Overview
Settings
Macro Expansion
Overview
Triggering
Tips
IMPORTANT NOTE
Macros and Quick Macros Views
Reminders (TODO Markers)
OVM Support
OVM Compliance Review
OVM Field Editor
Triggering
Interface
Problems
Tips
OVM Smart Log
Quick OVM Documentation Access
OVM Templates
UVM Support
Runtime UVM Configuration Queries
Static UVM Configuration Queries
UVM Browser
UVM Compliance Review
UVM Content Filters
UVM Field Editor
Triggering
Interface
Problems
Tips
UVM Runtime Elaboration
UVM Sequence Tree
UVM Smart Log
UVM Templates
UVM Verification Hierarchy
OVM to UVM Migration
Triggering
Preferences
Review changes
VMM Support
VMM Smart Log
Quick VMM Documentation Access
VMM Templates
Settings Management
Managed Settings
Unmanaged Settings
User and Common Settings Location
Use Cases
Memory Allocation Thresholds
Workspace Preferences
Run Configurations
Compile Waivers
Content Filters
External Builders
Export HTML Documentation
Custom Pragmas
Examples
Deprecated Settings Management (before DVT 3.5)
Workspace Settings
Project Settings
Other Settings
Importing Preferences From a Different Workspace
Using Import/Export Wizard
Using dvt.sh Script
Manually
Customizing Default Settings Using dvt.ini
Show Changed Preferences Dialog
Changing the Default dvt.ini
Using a User Customized dvt.ini
Reference
Comments Formatting
Javadoc
Natural Docs
Common Shortcuts
Custom Pragmas
DVT Resource Monitor
Editor Notification
Editor Right Click Menu
Folding
Macros
Source
Code Factory
Show
References
Trace
Refactor
Hyperlinks
Hyperlinks in Comments
Icons and Decorations
Icons
Decorations
Compiled Files
Access Modifiers
Errors and Warnings
Trace Connections
Changing Icon Colors
Project Colors
Inactive Generates Code Highlight
Lazy Bring up Resources
Memory Monitor
Scripts
dvt.sh
dvt_cli.sh
dvt_from_rawtokens.sh
dvt_kit_installer.sh
dvt_plugin_installer.sh
dvt_build.sh
Custom Report
Custom Report Examples
Syntax Coloring
Themes
Toolbar Actions
Tooltips
Views
Call Hierarchy View
Checks View
Code Templates View
Compile Order View
Build Config Hierarchy
Quick Compile Order View
Config DB View
Console View
Coverage View
Design Hierarchy View
Factory Overrides View
Inspect View
WaveDrom Timing Diagrams
Layers View
Quick Layers View
Macros View
Quick Macros View
Outline View
Quick Outline View
Outline View Preferences
Power Domain View
Problems View
Quick Query View
Registers View
Tasks View
Trace Connections View
Types View
Quick Types View
Type Hierarchy View
Quick Type Hierarchy View
UVM Browser View
UVM Sequence Tree View
Verification Hierarchy View
Application Notes
C/C++ support
Design Elaboration
Top candidates
Parameter values
Unelaborated Design
Debugging
Performance
Compilation Speed-up
Precompilation Support
Encrypted VIP Support
FPGA Support
Intel(Altera) Quartus
Intel(Altera) Quartus Libraries Compilation
Xilinx ISE/Vivado
Xilinx Libraries Compilation
Generating External Tool Scripts from the DVT Build Configuration
Incremental Compilation
Preprocessed Files Support
Using the PVerilog editor (Deprecated)
Output and logging
Understanding DVT IDE memory usage
UVM Library Compilation Troubleshooting
Visual Artifacts
Tips and Tricks
Q & A
I am new to Eclipse, where should I start from?
Where can I find DVT Help?
How do I see and configure the key shortcuts?
Are there any backup files in Eclipse?
Workspace in use, cannot launch eclipse...
Locking is not possible in the directory...
How to start DVT Eclipse with a different eclipse.ini
Save could not be completed
IBM Clearcase Plugin
Non existing package mti_fli
How to use Working Sets for filtering Problems/Task/Search views?
How to handle Simulator and Command Line Macros
How do I Access Files Outside Project Dir - Working with Linked Resources
Mapping Linux to Windows (/proj/ to Z:\proj\)
Subversive vs Subclipse
How do I associate a project with both DVT and CDT?
Can I use vi/vim along with DVT?
Can I perform dos2unix or unix2dos from DVT?
How can I configure Eclipse to use a local CVS repository?
I am using the Common Desktop Environment via Citrix and experiencing crashes. What can I do?
How do I change the background color of the Editor?
Some widget colors are not displayed properly. What can I do?
How do I change the tooltip colors?
How do I change Internet Proxy Settings?
Eclipse does not start, there is no Workspace, metadata or log file created
Workspace permissions
How do I link mylyn with Bugzilla?
How do I print source code?
How do I disable Eclipse Software Sites?
How do I revert to a previous version?
What are the most common shortcuts in DVT?
How does DVT integrate with emacs?
How does DVT integrate with CVS?
How to set an environment variable within a Run Configuration?
How to run a remote Unix commnad from DVT Eclipse for Windows?
Rebuild shortcut (Ctrl + Alt + R) does not work
I want to use an alias in a DVT Generic Run Configuration, but it's not recognized
How to set multiple paths as sources of predefined projects ?
Lines are suddenly changing indentation when I edit text or move the cursor through the editor.
How to change the directory where the build log file is saved ?
How to find the DVT logs on Linux/Unix ?
How to create resource filters ?
How to create custom shortcut and button for a Run Configuration?
I know that file.foo is present in the project location, but I can't see it in the Navigator View
How to copy the full path to the file in the current editor?
How to adjust the console logs filters matching parameters?
When I switch to Block (Column) Selection mode the font changes
In Block (Column) Selection mode I see strange editng artifacts
How to modify the font size in the code editors?
How to automatically checkout/lock files from the revision control system ?
How can I see if a file is read-only?
How can I open a file in DVT from the terminal?
How can I open a file in DVT from Questa?
How do I change the name of the xterm opened by a DVT Generic Run Configuration?
I get errors while installing or updating a plugin from an update site
What is New?
How to Report an Issue?
Legal Notices
Third Party Licenses
Prev
Home
Next
Chapter 11. Code Templates
Table of Contents
11.1. Code Templates in Autocomplete
11.2. Constraint Code Templates
11.3. Method Code Templates
11.4. Global Code Templates
11.5. Project Level Code Templates
11.6. Code Templates View