DVT VHDL IDE User Guide

DVT VHDL IDE User Guide
Rev. 3.5.35
30 January 2015
Technical Support: [email protected]
Copyright (C) 2005-2015 AMIQ EDA s.r.l. (AMIQ). All rights reserved.
License: This product is licensed under the AMIQ's End User License Agreement
(EULA).
Trademarks: The trademarks, logos and service marks contained in this document are
the property of AMIQ or other third parties. DVT™, eDT™, VlogDT™, VhdlDT™
Verissimo™ are trademarks of AMIQ. Eclipse™ and Eclipse Ready™ are trademarks
of Eclipse Foundation, Inc. All other trademarks are the property of their respective
holders.
Restricted Permission: This publication is protected by copyright law. AMIQ grants
permission to print hard copy of this publication subject to the following conditions:
1.The publication may not be modified in any way.
2. Any authorized copy of the publication or portion thereof must include all original
copyright, trademark, and other proprietary notices and this permission statement.
Disclaimer: This publication is for information and instruction purposes. AMIQ
reserves the right to make changes in specifications and other information contained in
this publication without prior notice. The information in this publication is provided as
is and does not represent a commitment on the part of AMIQ. AMIQ does not make,
and expressly disclaims, any representations or warranties as to the completeness,
accuracy, or usefulness of the information contained in this document. The terms and
conditions governing the sale and licensing of AMIQ products are set forth in written
agreements between AMIQ and its customers. No representation or other affirmation
or fact contained in this publication shall be deemed to be a warranty or give rise to any
liability of AMIQ whatsoever.
DVT VHDL IDE
www.dvteclipse.com
Table of Contents
1. Installation Checklist .......................................................................................................... 1
2. Predefined Projects ............................................................................................................. 5
3. Getting Started .................................................................................................................... 9
3.1. What is a Workspace ............................................................................................... 9
3.2. What is a Project ..................................................................................................... 9
3.3. Project Natures ....................................................................................................... 10
3.4. Workspace and Workbench ................................................................................... 11
3.5. Refresh ................................................................................................................... 12
3.6. Linked Resources ................................................................................................... 13
3.7. Backup and Local History ..................................................................................... 14
3.8. Basic Tutorial ......................................................................................................... 15
3.8.1. Switch to the DVT Perspective .................................................................. 15
3.8.2. Open a Project ............................................................................................ 17
3.8.3. Configure the Build .................................................................................... 18
3.8.4. Build the Project ......................................................................................... 19
3.8.5. Inspect the Compilation Errors ................................................................... 19
3.8.6. See Comments in Tooltips .......................................................................... 21
3.8.7. Use Hyperlinks to Move Around in the Code ............................................ 22
3.8.8. Quickly Open a Type (Entity, Architecture) ............................................... 22
3.8.9. Quickly Open a File ................................................................................... 23
3.8.10. Quickly Move Inside the Editor ............................................................... 24
3.8.11. Inspect the Design Hierarchy .................................................................... 25
3.8.12. Browse Through All the Available Types (Entities, Architectures) .......... 26
3.8.13. Search for Entities .................................................................................... 27
3.8.14. Use Content Assist (Autocomplete) .......................................................... 28
3.8.15. Use Code Templates ................................................................................. 30
3.8.16. Use Component Auto Instance ................................................................. 31
3.8.17. Track Tasks using TODO Markers ........................................................... 32
3.8.18. Quickly See the Current Scope in the Status Bar ..................................... 33
3.8.19. Fold Code Regions in Order to Improve Readability ............................... 33
3.8.20. Access the Context Sensitive Help ........................................................... 34
4. Build Configurations ......................................................................................................... 35
4.1. default.build ........................................................................................................... 35
4.2. Emulating compiler invocations ............................................................................ 36
4.3. Multiple .build Files ............................................................................................... 36
4.4. Compatibility Modes ............................................................................................. 38
4.4.1. Default DVT Compatibility Mode .............................................................. 39
4.4.2. vcs.vlogan Compatibility Mode .................................................................. 41
4.4.3. vcs.vhdlan Compatibility Mode .................................................................. 42
4.4.4. ius.irun Compatibility Mode ....................................................................... 42
4.5. Paths ....................................................................................................................... 46
4.6. Strings .................................................................................................................... 46
4.7. Comments .............................................................................................................. 47
4.8. Environment Variables .......................................................................................... 47
4.9. Including Other Argument Files ............................................................................ 48
4.10. Build Persistence .................................................................................................. 48
© AMIQ
i
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
4.11. DVT Auto-Linked ................................................................................................ 50
4.12. Run a Script Before Build ................................................................................... 51
4.13. All Build Directives ............................................................................................. 52
4.14. e Language Test Files .......................................................................................... 61
4.15. e Language SPECMAN_PATH ........................................................................... 61
4.16. SystemVerilog OVM or UVM Library Compilation ........................................... 62
5. Compile Checks ................................................................................................................ 64
5.1. Compile Waivers ................................................................................................... 64
5.2. Semantic Checks .................................................................................................... 66
6. Content Assist (Autocomplete) ......................................................................................... 69
6.1. Content assist for CamelCase and Underscore ...................................................... 70
6.2. Component Automatic Instantiation ...................................................................... 71
6.3. Code Templates ..................................................................................................... 71
7. Content Filters .................................................................................................................. 73
7.1. Content Filters XML syntax .................................................................................. 73
7.2. Content Filters Examples ....................................................................................... 76
7.3. Predefined Content Filters ..................................................................................... 77
8. Code Templates ................................................................................................................ 86
8.1. Code Templates in Autocomplete ......................................................................... 86
8.2. Global Code Templates ......................................................................................... 87
8.3. Project Level Code Templates ............................................................................... 87
8.4. Code Templates View ........................................................................................... 88
9. File Templates .................................................................................................................. 91
10. Project Templates ........................................................................................................... 92
10.1. What is a project template? ................................................................................. 92
10.2. How to generate code from a project template .................................................... 93
10.2.1. Step 1. Specify Directories ....................................................................... 93
10.2.2. Step 2. Specify Parameters ....................................................................... 94
10.3. template.config ..................................................................................................... 95
10.4. Add from Template ............................................................................................. 95
11. Code Formatting ............................................................................................................. 98
11.1. Capitalization ....................................................................................................... 98
11.2. Whitespace ........................................................................................................... 98
11.3. Indentation ............................................................................................................ 98
11.4. Vertical Alignment ............................................................................................... 99
11.5. Line Wrapping ................................................................................................... 100
11.6. External .............................................................................................................. 100
12. Component Automatic Instantiation ............................................................................. 101
12.1. Autoinstance Using Autocomplete .................................................................... 101
12.2. Autoinstance Using Drag and Drop ................................................................... 101
13. Semantic Search ............................................................................................................ 102
14. Search for References (Usages) .................................................................................... 104
15. Quick Search in Views ................................................................................................. 105
15.1. CamelCase .......................................................................................................... 105
15.2. Simple Regex ..................................................................................................... 106
15.3. Hierarchical Search ............................................................................................ 106
15.4. Search for Members ........................................................................................... 108
15.5. Search Port in Design Hierarchy ....................................................................... 110
© AMIQ
ii
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
16. Trace Port Connections ................................................................................................ 112
16.1. Trace Connections from Design Hierarchy ....................................................... 112
16.2. Trace Connections from Editor ......................................................................... 112
16.3. Trace Connections View .................................................................................... 114
16.4. Trace Path .......................................................................................................... 117
17. Code Factory ................................................................................................................. 120
18. Refactoring .................................................................................................................... 121
18.1. Rename Refactoring ........................................................................................... 121
18.2. Connect Instances Across the Design Hierarchy ............................................... 122
18.2.1. Connect Instances Using New Ports ....................................................... 122
18.2.2. Preview Structural Changes in the Design Hierarchy ............................. 125
18.2.3. Connect Instances Toolbar ...................................................................... 128
19. Diagrams ....................................................................................................................... 130
19.1. Module Diagrams ............................................................................................... 130
19.1.1. Module Diagrams - Select Entities ......................................................... 134
19.1.2. Module Diagrams - Preferences .............................................................. 136
19.1.3. Module Diagrams - Breadcrumb Navigation .......................................... 144
19.2. Diagram Toolbar ................................................................................................ 144
19.3. Diagram Preferences .......................................................................................... 144
20. Export HTML Documentation ...................................................................................... 146
20.1. Export HTML Documentation Wizard .............................................................. 146
20.2. Comments Formatting ........................................................................................ 151
20.2.1. JavaDoc ................................................................................................... 152
20.2.2. NaturalDocs ............................................................................................. 156
20.3. Customizing Documentation .............................................................................. 157
21. External Tools Integration ............................................................................................ 159
21.1. Run Configurations ............................................................................................ 159
21.1.1. Run Configuration Session Type ............................................................ 161
21.1.2. Custom Shortcut and Button for a Run Configuration ............................ 163
21.1.3. Using environment variables in DVT Generic Run Configurations ........ 164
21.1.4. Using an alias in a DVT Generic Run Configuration ............................. 165
21.1.5. DVT Generic Run Configuration Variables ........................................... 165
21.2. Smart Log .......................................................................................................... 167
21.2.1. Smart Log - Filters ................................................................................. 167
21.2.2. Smart Log - Hyperlinks .......................................................................... 170
21.2.3. Smart Log - Styles .................................................................................. 173
21.3. External Builders ............................................................................................... 174
21.3.1. How to define a new external builder ..................................................... 175
21.3.2. How to invoke external builders ............................................................. 177
21.3.3. External Builder Output .......................................................................... 177
21.3.4. Source Code Markers - errors warnings ................................................. 177
22. Custom Dialogs ............................................................................................................. 179
22.1. Quick Steps ........................................................................................................ 181
22.2. Customizing the Dialog Output ......................................................................... 181
22.3. SWT/XML Reference ........................................................................................ 184
22.3.1. Layouts .................................................................................................... 185
22.3.2. Widgets ................................................................................................... 186
23. Command Line Interface .............................................................................................. 192
© AMIQ
iii
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
23.1.
23.2.
23.3.
23.4.
23.5.
23.6.
dvt_cli.sh ............................................................................................................ 192
Syntax ................................................................................................................. 192
Notes .................................................................................................................. 193
Examples ............................................................................................................ 193
Makefile Example .............................................................................................. 194
Commands .......................................................................................................... 194
23.6.1. Create a Project (Mixed-Language Capable) .......................................... 194
23.6.2. Create a Project From an Existing Template .......................................... 196
23.6.3. Import an Existing Project ...................................................................... 196
23.6.4. List Compiled Files ................................................................................. 196
23.6.5. Launch a Run Configuration .................................................................. 197
23.6.6. Open a File ............................................................................................. 197
23.6.7. Open a Custom Dialog ........................................................................... 197
23.6.8. Refresh a project ..................................................................................... 197
23.6.9. Quit .......................................................................................................... 198
23.6.10. Query the running status ....................................................................... 198
23.6.11. Print version .......................................................................................... 198
24. Reminders (TODO Markers) ........................................................................................ 199
25. Settings Management .................................................................................................... 200
25.1. Managed Settings ............................................................................................... 200
25.2. Unmanaged Settings .......................................................................................... 204
25.3. User and Common Settings Location ................................................................ 204
25.4. Use Cases ........................................................................................................... 205
25.4.1. Memory Allocation Thresholds .............................................................. 205
25.4.2. Workspace Preferences ........................................................................... 206
25.4.3. Run Configurations ................................................................................. 206
25.4.4. Compile Waivers .................................................................................... 206
25.4.5. Content Filters ......................................................................................... 206
25.4.6. External Builders .................................................................................... 206
25.4.7. Export HTML Documentation ................................................................ 207
25.5. Examples ............................................................................................................ 207
25.6. Deprecated Settings Management (before DVT 3.5) ......................................... 208
25.6.1. Workspace Settings ................................................................................. 208
25.6.2. Project Settings ....................................................................................... 208
25.6.3. Other Settings .......................................................................................... 209
25.6.4. Importing Preferences From a Different Workspace .............................. 209
25.6.5. Customizing Default Settings Using dvt.ini ............................................ 210
26. Reference ...................................................................................................................... 213
26.1. Common Shortcuts ............................................................................................. 213
26.2. Editor Right Click Menu ................................................................................... 214
26.2.1. Folding .................................................................................................... 214
26.2.2. Source ...................................................................................................... 214
26.2.3. Code Factory ........................................................................................... 214
26.2.4. Show ........................................................................................................ 214
26.2.5. References ............................................................................................... 214
26.2.6. Trace ........................................................................................................ 215
26.2.7. Refactor ................................................................................................... 215
26.3. Icons and Decorations ........................................................................................ 215
© AMIQ
iv
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
26.3.1. Icons ........................................................................................................ 215
26.3.2. Decorations ............................................................................................. 216
26.4. Scripts ................................................................................................................. 216
26.4.1. dvt.sh ....................................................................................................... 216
26.4.2. dvt_cli.sh ................................................................................................. 218
26.4.3. dvt_kit_installer.sh .................................................................................. 218
26.4.4. dvt_updater.sh ......................................................................................... 220
26.5. Toolbar Actions ................................................................................................. 221
26.6. Views ................................................................................................................. 221
26.6.1. Code Templates View ............................................................................. 221
26.6.2. Compile Order View ............................................................................... 222
26.6.3. Console View .......................................................................................... 223
26.6.4. Design Hierarchy View .......................................................................... 223
26.6.5. Layers View ............................................................................................ 228
26.6.6. Outline View ........................................................................................... 229
26.6.7. Problems View ........................................................................................ 233
26.6.8. Tasks View ............................................................................................. 234
26.6.9. Trace Connections View ......................................................................... 236
26.6.10. Types View ........................................................................................... 236
27. Tips and Tricks ............................................................................................................. 239
28. Q & A ........................................................................................................................... 257
28.1. I am new to Eclipse, where should I start from? ............................................... 257
28.2. Where can I find DVT Help? ............................................................................ 257
28.3. How do I see and configure the key shortcuts? ................................................. 257
28.4. Are there any backup files in Eclipse? .............................................................. 258
28.5. Workspace in use, cannot launch eclipse... ....................................................... 258
28.6. Locking is not possible in the directory... ......................................................... 258
28.7. How to start DVT Eclipse with a different eclipse.ini ....................................... 258
28.8. Save could not be completed ............................................................................. 259
28.9. IBM Clearcase Plugin ........................................................................................ 259
28.10. libxul.so undefined symbol .............................................................................. 259
28.11. How to use Working Sets for filtering Problems/Task/Search views? ............. 260
28.12. How can I do an incremental textual search in any view? ............................... 262
28.13. How do I Access Files Outside Project Dir - Working with Linked
Resources ..................................................................................................................... 262
28.14. Mapping Linux to Windows (/proj/ to Z:\proj\) .............................................. 263
28.15. Subversive vs Subclipse ................................................................................... 264
28.16. How do I associate a project with both DVT and CDT? ................................. 264
28.17. Can I use vi/vim along with DVT? ................................................................. 264
28.18. Can I perform dos2unix or unix2dos from DVT? ........................................... 265
28.19. How can I configure Eclipse to use a local CVS repository? .......................... 265
28.20. I am using the Common Desktop Environment via Citrix and experiencing
crashes. What can I do? .............................................................................................. 266
28.21. How do I change the background color of the Editor? .................................... 266
28.22. How do I change the color of the interface? ................................................... 266
28.23. How to apply the dark color theme or other themes? ...................................... 267
28.24. How do I change the tooltip colors? ................................................................ 267
28.25. How do I change Internet Proxy Settings? ...................................................... 267
© AMIQ
v
Rev. 3.5.35
DVT VHDL IDE
29.
30.
31.
32.
www.dvteclipse.com
28.26. Eclipse does not start, there is no Workspace, metadata or log file created
..... 268
28.27. Workspace permissions .................................................................................... 269
28.28. How to install our server as a service in Windows? ........................................ 270
28.29. How do I link mylyn with Bugzilla? ............................................................... 270
28.30. How do I print source code? ........................................................................... 270
28.31. How do I disable Eclipse Software Sites? ....................................................... 272
28.32. How do I revert to a previous version? ........................................................... 272
28.33. What are the most common shortcuts in DVT? ............................................... 273
28.34. How does DVT integrate with CVS? .............................................................. 273
28.35. How to set an environment variable within a Run Configuration? .................. 273
28.36. How to run a remote Unix command from DVT Eclipse for Windows? ......... 273
28.37. Rebuild shortcut (Ctrl + Alt + R) does not work ............................................. 274
28.38. Sometimes I experience DVT GUI hangs, what should I do? ......................... 274
28.39. Sometimes I experience DVT GUI hangs when switching from another X
application to DVT ..................................................................................................... 275
28.40. I want to use an alias in a DVT Generic Run Configuration, but it's not
recognized .................................................................................................................... 276
28.41. How to set multiple paths as sources of predefined projects ? ......................... 276
28.42. Lines are suddenly changing indentation when I edit text or move the cursor
through the editor. ....................................................................................................... 276
28.43. How to change the directory where the build log file is saved ? ...................... 277
28.44. How to find the DVT logs on Linux/Unix ? .................................................... 277
28.45. How to create resource filters ? ....................................................................... 277
28.46. How to create custom shortcut and button for a Run Configuration? .............. 278
28.47. I know that file.foo is present in the project location, but I can't see it in the
Navigator View ........................................................................................................... 278
28.48. How to copy the full path to the file in the current editor? .............................. 279
28.49. How to adjust the console logs filters matching parameters? .......................... 279
28.50. When I switch to Block (Column) Selection mode the font changes ............... 279
28.51. In Block (Column) Selection mode I see strange editng artifacts .................... 280
28.52. How to modify the font size in the code editors? ............................................ 280
28.53. How to automatically checkout/lock files from the revision control system ?
...................................................................................................................................... 282
28.54. How can I see if a file is read-only? ............................................................... 282
28.55. How can I open a file in DVT from the terminal? .......................................... 283
28.56. How do I change the name of the xterm opened by a DVT Generic Run
Configuration? ............................................................................................................. 283
What is New? ............................................................................................................... 285
How to Report an Issue? .............................................................................................. 356
Legal Notices ................................................................................................................ 357
Third Party Licenses ..................................................................................................... 358
© AMIQ
vi
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
List of Tables
19.1. ..................................................................................................................................... 140
19.2. ..................................................................................................................................... 140
© AMIQ
vii
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 1. Installation Checklist
Eclipse Version
You must use Eclipse 3.6 or newer.
To check the Eclipse version use menu Help > About Eclipse Platform. In the snapshot the
Eclipse version is 3.6.
Java Version
You must use Java 1.6 or newer.
To check the Java version use menu Help > About Eclipse Platform, then click on
Configuration Details and select Configuration tab. In the snapshot the Java version is 1.6.
© AMIQ
1
Rev. 3.5.35
DVT VHDL IDE
Chapter 1. Installation
Checklist
www.dvteclipse.com
DVT Plug-in
To check the DVT plugin is installed use menu Help > About Eclipse Platform. You should
see the DVT button.
© AMIQ
2
Rev. 3.5.35
DVT VHDL IDE
Chapter 1. Installation
Checklist
www.dvteclipse.com
To see more details, for example the version, click the button.
DVT License
To check the DVT license go to menu Window > Preferences and inspect the DVT > License.
The DVT license is pointed to by $DVT_LICENSE_FILE system variable or in case
of a FlexLM license by' $DVTLMD_LICENSE_FILE' and $LM_LICENSE FILE system
variables.
© AMIQ
3
Rev. 3.5.35
DVT VHDL IDE
Chapter 1. Installation
Checklist
www.dvteclipse.com
DVT is activated lazily. In other words it doesn't look for a license until you try to use its
functionality. Before checking the license status, it is recommended to open a predefined
project.
© AMIQ
4
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 2. Predefined Projects
The predefined projects capability allows you to quickly access pre-configured project
repositories. For example training labs or golden reference projects or projects that you
commonly use.
DVT looks for predefined projects in the directory indicated by the
$DVT_PREDEFINED_PROJECTS system variable. In order to support directories spread
on the disk, DVT also scans all directories indicated by any other system variable whose name
starts with $DVT_PREDEFINED_PROJECTS_EXT_.
For example, if you installed DVT from a distribution, by default
$DVT_PREDEFINED_PROJECTS points to $DVT_HOME/predefined_projects. This is
a project repository that you can use to explore the DVT features without the initial effort of
configuring a project.
At
any
time,
if
you
wish
to
change
the
default
you
just
need
to
point
$DVT_PREDEFINED_PROJECTS
to
location. Or add another pre-configured projects repository by
$DVT_PREDEFINED_PROJECTS_EXT_MY_NEW_REPOSITORY to it.
location,
another
pointing
For example if you installed DVT as a plug-in on top of an existing Eclipse installation,
$DVT_PREDEFINED_PROJECTS is unset. But you can download the predefined projects
separately, and point the system variable to the folder where you extracted the predefined
projects.
Opening a Predefined Project
To open a predefined project use the Predefined Project Wizard by selecting File > New >
DVT Predefined Project.
You can also open the wizard from the DVT Project Wizard by clicking on the Predefined
Projects link:
© AMIQ
5
Rev. 3.5.35
DVT VHDL IDE
Chapter 2. Predefined Projects
www.dvteclipse.com
Preferences
In the wizard's main window you can select the predefined project and the target directory.
A copy of the selected project will be placed in the target directory. Keep in mind that:
1. The target directory must not be a parent of or inside of the eclipse workspace path
2. The target directory must be writable
3. The selected project must not exist in the current workspace
© AMIQ
6
Rev. 3.5.35
DVT VHDL IDE
Chapter 2. Predefined Projects
www.dvteclipse.com
1. Quick filter - by project name;
2. Available predefined projects;
3. A short description of the selected project;
4. If you want to change the default target directory (by default is the $HOME/
dvt_predefined_projects_target );
5. Override target directory (if it already exists)
© AMIQ
7
Rev. 3.5.35
DVT VHDL IDE
Chapter 2. Predefined Projects
www.dvteclipse.com
6. A message dialog will pop up, with info about all $DVT_PREDEFINED_PROJECTS
& $DVT_PREDEFINED_PROJECTS_EXT_* environment variables (indicates the
directories where DVT scans for predefined projects); See the picture below:
If all the settings are correct, click Finish.
© AMIQ
8
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 3. Getting Started
3.1 What is a Workspace
When you start Eclipse you are asked to indicate a workspace directory.
• The workspace is a directory on the disk where the Eclipse platform and all the installed
plug-ins store preferences, configurations and temporary information. Subsequent
Eclipse invocations will use this storage to restore the previous state.
• As the name suggests, it is your "space of work". It defines your area of interest during
an Eclipse session.
• In a workspace you define projects that reference your disk resources. You don't have to
move source files into the workspace. And projects don't import or copy source files into the
workspace. Instead projects point to any folder or files on your disk.
• We don't recommend keeping source code files in the workspace.
Each time you start Eclipse you can create a new workspace directory or indicate an existing
one. You can create many workspaces, each one dedicated to some activity. You may
use one workspace for developing your current project and another for maintaining the
previous one. If the two activities are unrelated, in doing so you minimize clutter and improve
performance by using two workspaces.
You can launch several Eclipse applications in parallel, but one workspace can be used only
by one Eclipse instance that locks it (<workspace_dir>/.metadata/.lock). If you try to use
an workspace already in use by an existing Eclipse instance, you'll be signaled "Workspace
in use or cannot be created, choose a different one". You can switch at anytime to another
workspace from menu File > Switch Workspace..., but launching different Eclipse for different
workspaces is common practice.
Workspace and Workbench
Refresh
3.2 What is a Project
In order to see the contents of a specific directory on the disk, you need to define a project
using various wizards.
Create a New Project
Menu File > New > DVT Project
© AMIQ
9
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
The first time when you create a project, the Eclipse platform creates a .project file in the
directory you specified, right before it presents the directory contents. This is the only operation
the platform performs. It will not move or copy any files to your workspace from the directory
you specified. It will just create the .project file.
Some plug-ins might create other information holders in the project directory. For example
DVT creates a .dvt directory to store project level configurations specific to DVT.
NOTE: There are ways to create projects directly from a revision control system, for example
from a CVS repository. As expected, in this case files will be brought into your workspace.
Import an Existing Project
Menu File > Import... (> General > Existing Projects into Workspace)
If a project was created for a directory on the disk (a .project file is already there), you cannot
create another project in that directory.
Instead you import an existing project into your workspace.
Automatic Create or Import
The DVT plug-in merges the create and import wizards. It automatically detects that a project
already exists at the specified location and imports it. Otherwise it guides you through the
project creation.
Build Configurations
3.3 Project Natures
In Eclipse a project can have zero to many project natures. Various plug-ins provide
functionality for a project if it is tagged with a specific nature. For example DVT builds a project
only if it has one of the natures it knows about, for example Verilog, VHDL or e Language.
Project natures are stored in the project definition, that is in the .project file.
To turn on/off a specific nature for a project, select the project in Navigator and choose
Change DVT Nature from the right click menu.
© AMIQ
10
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.4 Workspace and Workbench
Work
Workspace and workbench are different terms for different concepts, however they sound
quite similar to be mistakenly interchanged. The "work" prefix has a tendency to make us lose
the interest, so I guess we don't get to hear clearly the "space" or "bench" that follow, hence
both workspace and workbench collapse under the annoying "something about work".
Workspace
One of the first things you specify when you start Eclipse is the workspace location. The
workspace is a directory that holds information about the projects you work on, as well as
the Eclipse preferences (from layout to behavior). We can say that the workspace "holds" the
Integrated Development Environment: the data you work on (organized in projects) and how
you work with it (preferences). It is your "space of work" or "working space" or "working
universe".
Depending on your style, you can do all your work in a single workspace, no matter how
different projects in your life, for example a Web project to publish your photos, a Verification
© AMIQ
11
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
project and a Java project where you learn how to program. Or you can chose to have several
workspaces, each one dedicated to a specific state of mind or universe of thinking.
Workbench
The workbench is practically the Eclipse main window. It is the bench where you organize your
instruments, except that now you don't have power supplies, signal generators or oscilloscopes,
but different views and editors. Views and editors are your instruments to manipulate sources
and data. You arrange them at hand for a specific task (exploring, debugging, coding etc.).
What instruments you use and how you lay them out on your bench ( workbench) is known
as a perspective: with what and from what angles you look at your data. Eclipse allows you
quickly to reorganize your workbench, by choosing a different perspective. Don't have to spend
time moving the signal generator away, just switch to another perspective.
Workspace Again
The projects (your data) are not necessarily physically located in the workspace directory. They
can be simple pointers to other locations on the disk. However the workspace aggregates all
your "relevant" projects for a specific development universe.
When you create a new empty project in the workspace, it is located in the actual workspace
directory. When you create a project from existing source, the workspace keeps a pointer to
the project folder. When you import a project in your workspace, again the workspace keeps a
pointer to the project folder. (Importing is an interesting concept, documented separately).
You can switch at any time from one workspace to another (menu File > Switch workspace...).
You can start several Eclipse instances looking at various workspaces (chose when prompted
at start or in batch mode "eclipse -d <workspace location>"). However, you cannot have two
Eclipse instances looking at the same workspace at once. Eclipse locks the workspace, as
indicated by the .metadata/.lock file in the workspace directory.
What is a Workspace
3.5 Refresh
Once you start Eclipse, the workspace is usually read from the disk (not necessarily, caches are
also kept from the previous invocation). From this point on, usually, what ever changes you do
outside of Eclipse on resources in the workspace are not reflected immediately. You need to
request for a refresh (right click on a project and chose Refresh from the drop down menu).
"Usually" above because it can be customized. To customize the way refresh behaves and
eventually switch it to fully detect each change whenever it occurs, use menu Window >
Preferences > General > Workspace. From here you can customize if refresh is done on startup,
how often etc.
Refresh is a basic and primitive support of concurrency and also has to do with performance.
Maybe I don't want to be notified of every change on resources in my projects if somebody
© AMIQ
12
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
is also processing part of the data outside Eclipse. It may take a while, even not be relevant
and stop me from working until the external processing is complete. For example compilation.
Hence maybe I want to trigger it when I know for sure I am interested in some external changes.
This does not imply that conflicts (for example editing a file that changed on the disk) are not
promptly signaled by Eclipse.
It happens often that you don't find some files in your workspace (of course inside a project)
although from explorer or console it seems they are there. Maybe you forgot to refresh?
What is a Workspace
Workspace and Workbench
What is a Project
3.6 Linked Resources
Linked resources are very similar with file system links, except they are registered in the
.project file, not created on the disk.
To create a linked resource, right click on the project in the Navigator and select from the popup menu New > Linked Resource. In the wizard you must specify the path the link will point
to (for example /apps) and the linked directory name (for example apps):
1. Target: the file system path the link will point to;
2. Name: the linked directory's name;
3. Location: location (inside the selected project) where the link directory will be created.
Tip: You can also use system variables in the path, for instance:
${DVT_ENV-SYSTEM_VARIABLE_NAME}/work
© AMIQ
13
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
equivalent to
$SYSTEM_VARIABLE_NAME/work
in a terminal. This way you can share the project with your team and the linked folders will
work seamlessly.
Note: When you press Finish, if the directory the link points to is too big (for example it has
more than 3000 children), a Resource Filter dialog will pop-up. You can use it to exclude those
children that you don't need and that may slow down the platform (you can find out more about
it here).
Linked resources will appear in the Navigator with a small "link" icon:
Tip: You can also use drag & drop from a filesystem navigator (like Nautilus in Gnome,
Dolphin in KDE or Explorer in Windows): drag the external folder and drop it on the desired
target location (Project or Folder) in the Navigator View. In the dialog that pops-up specify that
you want to "Link to files and folders". A linked resource will be automatically created.
What is a Workspace
What is a Project
3.7 Backup and Local History
The Eclipse platform provides a similar to autosaved backup files functionality (<name>.bak in
win, <name>~ in emacs etc.). It is more elaborated, quite similar with revision control systems
in capabilities (compare, multiple versions across time etc.)
To quote from the platform manual: "A local edit history of a file is maintained when you create
or modify a file. Each time you edit and save the file, a copy is saved so that you can replace
the current file with a previous edit or even restore a deleted file. You can also compare the
contents of all the local edits. Each edit in the local history is uniquely represented by the date
and time the file was saved. Only files have local history; projects and folders do not."
Some quick access hints:
© AMIQ
14
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
1. Right click on a file > Compare With > Local History... and compare with various file
snapshots taken over time
2. From menu Window > Preferences > General > Workspace > Local History you can
configure how often snapshots are taken and for how long preserved.
Right click in the editor and chose Compare With/Replace With > Local History....
3.8 Basic Tutorial
This tutorial provides a step by step walk-through of the VHDL development environment.
3.8.1 Switch to the DVT Perspective
The VHDL Perspective provides a workbench layout with many useful views and shortcuts at
hand for developing VHDL code, for example the entity and architectures browser.
© AMIQ
15
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
From menu Window > Open Perspective > Other... chose DVT
You can customize and save a perspective. In order to further speed-up the development, at
any time you can switch between various perspectives with different tool (views) layouts. For
example you can use one perspective for writing code (the editor will take most of the real estate)
and another perspective for code navigation (type browser will be a significant component).
The default DVT perspective looks like this:
© AMIQ
16
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.2 Open a Project
A project corresponds to a specific directory on the disk. The project is presented in the
Navigator View - a file browser component that helps you browse the project directory
contents.
For more details see What is a Project.
Create a New Project
Invoke the New Project Wizard: Chose menu File > New > DVT Project.
© AMIQ
17
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
1. Specify the Project Directory It can be a directory that already contains sources or a new
directory that will be created.
2. Specify the Project Name By default, the project's name is the last segment of the project's
directory path (e.g. /tmp/path1/path2/p_name > p_name). You can change this name by
selecting Custom. NOTE: If Project Directory points to an existing project, you cannot
change its name.
3. Open a Predefined Project You may open one of the predefined projects that DVT ships
with and continue to explore the DVT features. For more details see Predefined Projects.
4. Specify the Project Nature. If the poject does not exist or it does not contain any nature,
you must select at least one nature. This way DVT will compile the respective sources.
3.8.3 Configure the Build
As soon as you create a project, you'll be notified there is nothing to build.
To configure the build follow the link in the build notification dialog or open the .dvt/
default.build file.
© AMIQ
18
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
In order to provide advanced functionality (like hyperlinks, autocomplete, design and class
hierarchy, error signaling, etc.) DVT analyzes the source code files in your project. This analysis
process is called build.
By default, DVT doesn't build anything. In order to build, DVT uses the arguments that you
specify in one of the <name>.build files located in the .dvt folder of your project.
The default build configuration is .dvt/default.build. Here you list compilation directives in a
similar way you would pass arguments to any simulator.
For more details see Build Configurations.
3.8.4 Build the Project
Once you specified the files you want to compile, the incdirs to be used for `include and so
on, you should rebuild the project. In general, every time you change the .build configuration,
you should rebuild.
In order to rebuild you click the Rebuild button .
While editing source files, a project is incrementally compiled as soon as you save, unless the
menu option Project > Build Automatically is un-checked.
The building progress is reported in the Progress View. Depending on your configuration, you
may also see detailed information in the Console View.
3.8.5 Inspect the Compilation Errors
Syntax errors are detected as you type.
They are indicated in the vertical bars of the editor (right - for the visible code, left - for the full
file). If you keep the mouse over the marker on the left you'll see more details about the error.
© AMIQ
19
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
Same tooltip will appear if you keep the mouse over the marker on the editor right bar. You
can also click on the marker to jump to the error.
If a project contains errors, for example syntax errors, it will be indicated using decorators:
You can use the Problems View to inspect the errors. You can show the Problems View from
menu Window > Show View > Other... > General > Problems. Double clicking on some
error will jump to the source location.
© AMIQ
20
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.6 See Comments in Tooltips
When you position the mouse over a type, method, field etc., a tooltip will pop-up showing
information on corresponding declaration.
Some examples are presented below. In a similar way you'll see information on fields, events,
variables etc., predefined or not.
Type Info
Function
Info
Procedure
Info
The information presented in the tooltip is created using the comment on top of the declaration.
For example, given the following declaration of a field:
© AMIQ
21
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
the corresponding tooltip will look like this:
3.8.7 Use Hyperlinks to Move Around in the
Code
If you place the mouse over a type, method, field etc. and press the Ctrl key, a hyperlink will
be presented. Click on the hyperlink to jump to definition. You can also jump to a definition
if you put the cursor on the relevant name and press F3.
3.8.8 Quickly Open a Type (Entity,
Architecture)
You can quickly open a specific type definition. Press Ctrl+Shift+T.
The Quick Types View will pop-up and you can enter any regular expression to locate a type.
Select and press Enter or click to jump to its definition.
© AMIQ
22
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.9 Quickly Open a File
You can quickly open a compiled file. Just press Ctrl+I.The Quick Compile Order View will
pop-up and you can enter any regular expression to locate a file. Select and press Enter or click
to open the file.
You can also see the include tree of the files in your project in the Compile Order View. Open
the view from menu Window > Show View > Other... > DVT > Compile Order .
© AMIQ
23
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
This is the Compile Order View.
3.8.10 Quickly Move Inside the Editor
Press Ctrl+O to open the Quick Outline for an overview of your file. You can enter any regular
expression to locate an entity to jump to the current file.
You can also see the outline in the Outline View. Open the view from menu Window > Show
View > Other... > General > Outline .
© AMIQ
24
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.11 Inspect the Design Hierarchy
Position the cursor on a entity or architecture name and press Shift+F4 or right click and choose
Show > Design Hierarchy from the menu.
The Design Hierarchy View opens with the chosen element set as the top of the hierarchy.
© AMIQ
25
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.12 Browse Through All the Available
Types (Entities, Architectures)
You can explore all the types like entities or architectures that are defined in your project using
the Types View.
Go to menu Window > Show View > Other... > DVT > Types to open the Types View.
© AMIQ
26
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.13 Search for Entities
You can search for a specific type, method etc. in the current project or whole workspace. Press
Ctrl+H to pop-up the search dialog.
© AMIQ
27
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
The results are presented in the Search View.
3.8.14 Use Content Assist (Autocomplete)
Content assist provides you with a list of suggested completions for partially entered text.
Proposals are context dependent and include accessible entities, architectures, configurations,
variables, signals, constants,functions, procedures, etc. as well as templates for various
constructs.
Press Ctrl+Space to trigger content assist.
Content assist is triggered automatically in some contexts, for example when you type in a <=,
or := in the editor.
© AMIQ
28
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
Proposals are presented in a list for you to chose from. Moving through proposals you can
quickly see the related documentation.
Press Enter or click to select a proposal or Esc to cancel the assist.
© AMIQ
29
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.15 Use Code Templates
When you trigger autocomplete using Ctrl+Space, template suggestions may appear in the
proposal list.
To define templates go to the DVT > Code Templates preference page (via menu Window >
Preferences) and select VHDL from Select Nature:.
© AMIQ
30
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
Click the New button to define a new template. The template name is important for proposal
filtering based on already typed text.
3.8.16 Use Component Auto Instance
You need to type the first letters of the component(entity, configuration, component) name,
then press Ctrl+Space three (3) times. You can recognize component instances by their icon,
it looks like a chip with ports ready to be glued in.
© AMIQ
31
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.17 Track Tasks using TODO Markers
If you place TODO markers in your code they are recognized and presented in the Tasks View.
This is a mean to insert reminders, preserve, track and share them with your team.
You can use TODO markers inside comments. FIXME (high priority), TODO and XXX (low
priority) are recognized.
Go to menu Window > Show View > Other... > General > Tasks to open the Tasks View.
Double click on a task to jump to the marker definition.
© AMIQ
32
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.18 Quickly See the Current Scope in the
Status Bar
The scope at cursor (procedure, architecture ...) is always presented in the''' status bar'''.
3.8.19 Fold Code Regions in Order to Improve
Readability
Use the Expand All button or the Collapse All button from the toolbar or from right click
menu Source > Folding to unfold/fold the current file.
© AMIQ
33
Rev. 3.5.35
DVT VHDL IDE
Chapter 3. Getting Started
www.dvteclipse.com
3.8.20 Access the Context Sensitive Help
A focused set of help topics that is related to the current context can be shown to users on
demand using context-sensitive help. This form of user assistance is delivered to users when
a platform-specific trigger is activated (e.g. F1 key on Windows, Ctrl+F1 on GTK, Help key
on Carbon):
© AMIQ
34
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 4. Build Configurations
In order to provide advanced functionality (like hyperlinks, autocomplete, design and class
hierarchy, error signaling, etc.) DVT analyzes the source code files in your project. This analysis
process is called build and it is performed by the DVT internal builder (also referred to as
internal builder or DVT builder or DVT parser). For convenience, build is synonym with
code compilation or code analysis.
The internal builder performs an initial full build of your project (a full build can
also be triggered on demand). As you change sources, DVT performs an incremental
build (incremental compilation), that is it analyzes only the changes. Unless the build
automatically preference is turned off, an incremental build is performed as soon as you save
or as soon as DVT detects some idle time after you changed the code.
DVT includes standard compliant code parsers. During the build process it creates an internal
representation of the code. This representation is called the internal DVT dictionary, index,
database or model. This model is partially serialized on the disk, so that subsequent tool
invocations don't require a full build. See Build Persistence for more details.
In order to build, the internal builder uses the arguments that you specify in the current build
file. A build file is one of the <name>.build files located in the .dvt folder of your project.
Blue bullet decorations indicate if a file is compiled, for example in the Navigator View.
This is a compiled file.
This file is not compiled.
4.1 default.build
.dvt/default.build is an argument file that configures DVT's internal builder. By default,
whenever a full build is performed, DVT starts by reading this file. It may contain:
• comments
• directives in two forms:
• +directive+arg1+arg2+
• -directive arg1 arg2
• top files. Anything that is not a directive or comment is regarded as path to a top file.
Note: Unknown directives are ignored. In general, DVT-specific directives start with +dvt_.
Unknown directives that start with this prefix are flagged with a warning.
The internal builder parses each top file, following includes/imports as specified by the
language. Some directives ( parsing directives) allow you to control how files are compiled
© AMIQ
35
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
based on their extension, for example using System Verilog 1800-2012 for *.sv, Verilog 2001
for *.v, VHDL 1076-2008 for *.vhdl and e Language 1647-2011 parser for *.e. The parsing
directives are either generic or mode specific.
Note: A project is built by analyzing source code with one or more of DVT's parsers depending
of the Project Natures. Even if build configuration files in the .dvt folder specify certain files to
be compiled with a specific language syntax, they will not be analyzed unless the corresponding
nature is enabled for the project. The language syntax to project nature mapping is:
e Language
e Nature
Verilog, SystemVerilog
vlog Nature
VHDL
vhdl Nature
In general, the directives are similar with the arguments (or flags) that you would pass to any
compiler/simulator.
A build file may include other argument files and so on. The internal builder follows the
included files as it encounters them (as if part of a continuous stream). Note that the way a file
is included (for example with '-f' or '-F') has an influence on how paths inside the included files
are interpreted. For more details see Including Other Argument Files.
To simplify the flow integration, DVT supports several Compatibility Modes. This capability
allows you to reuse existing arguments or argument files that you already use for a particular
simulator invocation.
4.2 Emulating compiler invocations
Sometimes a design is compiled across multiple invocations. For example, environment
variables or preprocessing directives may change their values between invocations, or sources
may be compiled into different libraries.
The +dvt_init+<mode> directive is equivalent with a new compiler invocation, where <mode>
represents the compiler compatibilty mode. The directive resets the DVT builder to the mode
specific default state and clears all the previous directives (preprocessing defines, system
variables, libraries, etc.).
You may specify any number of +dvt_init directives inside a build file.
The compatibility mode is enforced until the next +dvt_init directive.
Even if there is no +dvt_init directive specified, there is always an initial reset equivalent to
+dvt_init+dvt.
4.3 Multiple .build Files
You can have multiple build files inside the .dvt directory, and tell DVT which one to use for
compilation by using the Set current build button from the toolbar:
© AMIQ
36
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
The current build name is saved in the .dvt/build.config.xml file.
The project state is saved per build file after each build, and this allows you to easily switch
between multiple views of the project (see Build Persistence for more information).
Use Cases
Depending on your current focus (browsing rtl.build contains all directives needed to
the design, writing testbench code, debugging) compile the design
you only want to load in DVT the relevant code
testbench.build contains all the directives
needed to compile the verification
environment
default.build includes both the rtl.build and
testbench.build
Quickly switch between synthesizable and default.build contains all directives needed to
non-synthesizable version of the design compile all the code
hierarchy
synth.build
contains
+dvt_preprocess_translate_pragmas
+synthesis and a -f directive to include
default.build
You switch often between several versions compile.f contains directives needed to
of the same code base. The paths to the compile all the code
few different files are controlled by the
$VERSION environment variable.
version1.build
contains
+dvt_env
+VERSION=1 and a -f directive to include
compile.f
version2.build
contains
+dvt_env
+VERSION=2 and a -f directive to include
compile.f
...
You want to change the active build before Change the build name in .dvt/
launching DVT, as designers compile just the build.config.xml before launching DVT, for
RTL by rtl.build, while others all.build.
example by a wrapper script "run_dvt.sh -rtl".
© AMIQ
37
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
4.4 Compatibility Modes
A compatibility mode defines how DVT decides what top files to parse and with what language
syntax to parse them.
File Extension to Language Syntax
Mapping
File extensions can be mapped either to a specific
language syntax or skipped (that is they will not be
parsed).
Each mode has a default file extension to syntax
mapping.
You control the extensions mapping by using
various directives, like for example +verilog2001ext in
vcs.vlogan Compatibility Mode.
The +dvt_ext_unmap_all directive clears the syntax
mapping, including skipped. This means that all top
files will be parsed using the Language Syntax
for Unmapped Extensions. Note that the syntax for
unmapped extensions can be Skip, for example in the
Default DVT Compatibility Mode, as a result nothing
will be compiled.
Language Syntax for Unmapped
Extensions
An unmapped top file will be parsed using this syntax or
skipped, depending on the compatibility mode.
Can be controlled by various directives, like for
example +dvt_ext_unmapped_syntax+<syntax> in the
Default DVT Compatibility Mode or +v2k in vcs.vlogan
Compatibility Mode.
Language Syntax for Included Files
Where relevant, for example for Verilog/
SystemVerilog, the included files are parsed either with
the same syntax as the including file, or as specified
by the extension mapping. See also each compatibility
mode documentation.
Note: A compatibility mode might also introduce specific predefined API, like for example
Verilog preprocessing macros.
List of Compatibility Modes
The following compatibility modes are supported:
• dvt - This is the default mode.
• vcs.vlogan
• vcs.vhdlan
• ius.irun
• TBD questa.vlog
© AMIQ
38
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
• TBD questa.vcom
How to Specify the Compatibility
Mode
The +dvt_init+<mode> directive changes the compatibility mode, where <mode> can be any
of the above modes.
A +dvt_init+<mode> directive:
1. Resets the dvt builder to the mode specific default state.
2. Clears all the previous directives (preprocessing defines, system variables, libraries, etc.).
You can see it as the equivalent of a new tool invocation.
You may specify any number of +dvt_init directives inside a build file.
The compatibility mode is enforced until the next +dvt_init directive.
4.4.1 Default DVT Compatibility Mode
The +dvt_init+dvt directive resets the builder to the dvt default state.
File Extension to Language Syntax Mapping
Syntax
Extensions
Verilog 2001 .v, .vh
System
Verilog
1800-2012
.vp, .vs, .vsh, .v95, .v95p, .sv, .svh, .svp, .svi, .sva
VHDL
1076-2008
.vhd, .vhdl
e Language .e
1647-2011
Skipped Files .c, .cpp, .so, .a, .o, .cc
Language Syntax for Unmapped Extensions: Skip unmapped extensions.
Language Syntax for Included Files: Included files are parsed as specified by the extension
mapping.
Mode Specific Directives
Directive
Description
+dvt_ext_map Files with <ext> extension are parsed using the specified <syntax>. See the list
+<syntax>
below for more details regarding <syntax>.
+<ext>
+dvt_ext_unmap
Files with <ext> extension are parsed using the Language Syntax for
+<ext>
Unmapped Extensions.
© AMIQ
39
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
+dvt_ext_unmapped_syntax
Set the Language Syntax for Unmapped Extensions. See the list below for
+<syntax>
more details regarding <syntax>.
+dvt_ext_unmap_all
All files are parsed using the Language Syntax for Unmapped Extensions.
+dvt_ext_included
by_ext: The included files are parsed using the syntax as specified by directives,
+by_ext
that is using by ext syntax (if explicit) or the syntax for unmapped extensions
+dvt_ext_included
by_parent: Included files are parsed using the syntax that was used for parsing
+by_parent the including file
Specifying a <syntax>
To specify the <syntax> for the directives above, one should use any of the following strings,
case-insensitive:
1364-1995, Verilog_95
1364-2001-noconfig, Verilog_2001_noconfig
1364-2001, Verilog_2001
1364-2005, Verilog_2005
1800-2005, SystemVerilog_2005
1800-2009, SystemVerilog_2009
1800-2012, SystemVerilog_2012, SystemVerilog
1647-2011, e_2011, e
1076-1987, VHDL_87
1076-1993, VHDL_93
1076.1-1999, VHDL_AMS_99
1076-2000, VHDL_2000
1076-2002, VHDL_2002
1076.1-2007, VHDL_AMS_2007
1076-2008, VHDL_2008, VHDL
SKIP
The dot (.) for specifying <ext> is optional. For example +dvt_ext_map
+verilog_1364_1995+.svh and +dvt_ext_map+verilog_1364_1995+svh are equivalent.
You can specify more extensions
+verilog_1364_1995+.svh+svp.
at
once,
for
example
+dvt_ext_map
When several directives change the syntax of a specific <ext>, the last one wins.
© AMIQ
40
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
Examples
• I want to parse .c and .v files as SystemVerilog:
+dvt_init+dvt // By default .c are skipped and .v are parsed with Verilog 2001 syntax
+dvt_ext_map+SystemVerilog_2012+.v+.c // Now .c and .v are parsed with SystemVerilog 2012
Note Every time you re-map an already mapped extension, DVT will warn you. For the example
above, you get the following warnings:
.v was previously mapped to Verilog_2001
.c was previously mapped to Skip
• I want the .vp files to be parsed with the Language Syntax for Unmapped Extensions:
+dvt_init+dvt // By default .vp is parsed with SystemVerilog 2012.
+dvt_ext_unmap+.vp // Because by default the unmapped extensions are skipped, .vp files will be skipped
• I want to change the Language Syntax for Unmapped Extensions:
+dvt_init+dvt // By default the unmapped extensions are skipped
+dvt_ext_unmapped_syntax+Verilog_95 // Now unmapped extensions, for example .foo, will be parsed as V
• I want to configure everything from scratch:
+dvt_init+dvt
+dvt_ext_unmap_all // All files are skipped
+dvt_ext_unmapped_syntax+Verilog_95 // Compile all files with unmapped extensions as Verilog 95
+dvt_ext_map+skip+.cpp // Skip .cpp files
+dvt_ext_map+SystemVerilog_95+.sv // Compile .sv as SystemVerilog
+dvt_ext_map+VHDL_1076_1_1999+.vhd // Compile .vhd as VHDL-AMS
• I want to parse everything as SystemVerilog
+dvt_init+dvt
+dvt_ext_unmap_all // All files are skipped
+dvt_ext_unmapped_syntax+SystemVerilog // All files are parsed as SystemVerilog
4.4.2 vcs.vlogan Compatibility Mode
The +dvt_init+vcs.vlogan directive resets the builder to the vcs.vlogan default state.
File Extension to Language Syntax Mapping
Syntax
Extensions
Skipped Files .c, .cpp, .so, .a, .o, .cc
Language Syntax for Unmapped Extensions: Verilog 1995
Language Syntax for Included Files: Included files are parsed using the syntax that was used
for parsing the including file.
Mode Specific Directives
© AMIQ
41
Rev. 3.5.35
DVT VHDL IDE
Directive
Chapter 4. Build
Configurations
www.dvteclipse.com
Description
+verilog1995ext
All files with <ext> extension are parsed using the Verilog 1995 syntax.
+<ext>
+verilog2001ext
All files with <ext> extension are parsed using the Verilog 2001 syntax.
+<ext>
+systemverilogext
All files with <ext> extension are parsed using the SystemVerilog syntax.
+<ext>
-sverilog
Sets the syntax for unmapped extensions to SystemVerilog. This directive has
precedence over +v2k.
+v2k
Sets the syntax for unmapped extensions to Verilog 2001.
-extinclude
The included files are parsed using the syntax as specified by directives, that
is using by ext syntax (if explicit) or the syntax for unmapped extensions. It
overrides the default behavior.
The dot (.) for specifying <ext> is optional. For example +verilog1995ext+.svh and
+verilog1995ext+svh are equivalent.
You can specify more extensions at once, for example +verilog1995ext+.svh+svp.
When several directives change the syntax of a specific <ext>, the last one wins.
Predefined API
VCS
Defined as preprocessing macro without value.
4.4.3 vcs.vhdlan Compatibility Mode
The +dvt_init+vcs.vhdlan directive resets the builder to the vcs.vhdlan default state.
File Extension to Language Syntax Mapping
Syntax
Extensions
Skipped Files .c, .cpp, .so, .a, .o, .cc
Language Syntax for Unmapped Extensions: VHDL 1076-1993
Mode Specific Directives
Directive
Description
-w <lib>
Compile intro library <lib>
-work <lib>
-vhdl87
Sets the syntax for unmapped extensions to VHDL 1076-1987
4.4.4 ius.irun Compatibility Mode
The +dvt_init+ius.irun directive resets the builder to the ius.irun default state.
© AMIQ
42
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
File Extension to Language Syntax Mapping
Syntax
Extensions
Verilog 1995 .v95, .v95p
Verilog 2001 .v, .vp, .vs
System
Verilog
1800-2012
.sv, .svp, .svi, .svh, .vlib, .vcfg
VHDL 1987 .vhd, .vhdl, .vhdp, .vhdlp, .vhcfg
VHDL AMS .vha, .vhams, .vhms
1999
e Language .e
1647-2011
Skipped Files .vams, .pslvlog, .pslvhdl, .pslsc, .c,.cpp, .cc, .s, .o, .a, .so, .sl, .scs, .sp
Language Syntax for Unmapped Extensions: Skip
Language Syntax for Included Files: Included files are parsed using the syntax that was used
for parsing the including file.
Mode Specific Directives
Note: in IUS compatibility mode all directives are case-insensitive except for -f / -F
Directive
Description
-default_ext
<syntax>
Set the Language Syntax for Unmapped Extensions. See the list below for
more details regarding the <syntax> argument.
Files with <ext> extension will be parsed using the specified <syntax>. If
<syntax>_ext the optional + is specified, the mapping will be added to the default File
[+]<ext>[,<ext>]
Extension to Language Syntax Mapping. Otherwise, the default mapping
of the specified <syntax> is overridden. If you specify the override directive
multiple times for the same <syntax>, the default File Extension to Language
Syntax Mapping will be overridden only the first time. You can specify more
extensions at once, comma-separated, for example - vlog_ext .svh,.svp. The dot
(.) for specifying <ext> is mandatory.
The following directives are supported: -a_ext, -amsvhdl_ext, -amsvlog_ext,
-as_ext, -c_ext, -cpp_ext, -dynlib_ext, -e_ext, -o_ext, -spice_ext, -sysv_ext, vhcfg_ext, -vhdl_ext. See the list below for more details regarding <syntax>.
-asext
Equivalent to -as_ext +<ext>[,<ext>]
<ext>[,<ext>]
-ccext <ext> Equivalent to -c_ext +<ext>[,<ext>]
-cxxext <ext> Equivalent to -cpp_ext +<ext>[,<ext>]
-objext <ext> Equivalent to -o_ext +<ext>[,<ext>]
© AMIQ
43
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
-vhdlext
<ext>
Equivalent to -vhdl_ext +<ext>[,<ext>]
-vlogext
<ext>
Equivalent to -vlog_ext +<ext>[,<ext>]
-sv
All files that would be parsed according to the File Extension to Language
Syntax Mapping or Language Syntax for Unmapped Extensions with a
Verilog syntax flavor will be parsed with SystemVerilog 2012 instead. Has
precedence over -v1995.
-v1995
All files that would be parsed according to the File Extension to Language
Syntax Mapping or Language Syntax for Unmapped Extensions with
Verilog 2001 will be parsed instead with a reduced keywordset variant
of Verilog 2001. The reduced keywordset does not contain the keywords
automatic, localparam, generate, endgenerate, and genvar.
-v95
-v200x
All files that would be parsed according to the File Extension to Language
Syntax Mapping or Language Syntax for Unmapped Extensions with a
VHDL syntax flavor (but not VHDL AMS) will be parsed with VHDL 2000
instead. Has precedence over -v93.
-v93
All files that would be parsed according to the File Extension to Language
Syntax Mapping or Language Syntax for Unmapped Extensions with a
VHDL syntax flavor (but not VHDL AMS) will be parsed with VHDL 93
instead.
-ams
All files that would be parsed according to the File Extension to Language
Syntax Mapping or Language Syntax for Unmapped Extensions with a
VHDL syntax flavor will be parsed with VHDL AMS 1999 instead. Has
precedence over -v93 and -v200x.
-snpath
<path>
Equivalent to +dvt_env+SPECMAN_PATH=$SPECMAN_PATH:<path>
-sndefine
<arg>
Equivalent to +define+<arg>
-ovm
Load the OVM / UVM library from the irun installation location.
-uvm
For ovm: `irun -location -nolog`/tools/ovm.
For uvm: `irun -location -nolog`/tools/uvm/uvm_lib/uvm_sv.
-ovmhome
<path>
Load the OVM / UVM library from the specified <path>. Has precedence over
-ovm / -uvm.
-uvmhome
<path>
How to specify <syntax> for - default_ext <syntax> and - <syntax>_ext directives
Language Syntax
- default_ext <syntax>
- <syntax>_ext
Verilog 2001
-default_ext verilog
-vlog_ext
© AMIQ
44
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
Verilog 1995
-default_ext verilog95
SystemVerilog 2012
-default_ext systemverilog, - -sysv_ext
default_ext vcnf
VHDL 1987
-default_ext vhdl, -default_ext -vhdl_ext
vhcfg
e Language
-default_ext e
-e_ext
VHDL AMS 1999
-default_ext vhdl-ams
-amsvhdl_ext
SKIP
-default_ext verilog-ams, - -a_ext,
-amsvhdl_ext,
default_ext psl_vlog,
amsvlog_ext,
-default_ext
psl_vhdl,
default_ext
psl_sc,
default_ext c,
N/A
-
- -as_ext, -c_ext, -cpp_ext,
-dynlib_ext, -e_ext, -o_ext,
-default_ext cpp, -default_ext -spice_ext,
-sysv_ext,
assembly, -default_ext o,
vhcfg_ext, -vhdl_ext
-
-default_ext a, -default_ext so,
-default_ext scs
Predefined API
INCA
Defined as preprocessing macro without value.
Examples
• I want to parse .sv, .c and .v files as SystemVerilog:
+dvt_init+ius.irun // By default .c are skipped and .v are parsed with Verilog 2001 syntax
-sysv_ext +.v,.c // Now .c and .v are parsed with SystemVerilog 2012; however, the default extensions mappe
Note Every time you re-map an already mapped extension, DVT will warn you. For the example
above, you get the following warnings:
.v was previously mapped to Verilog_2001
.c was previously mapped to Skip
• I want the .vp files to be parsed with the Language Syntax for Unmapped Extensions:
+dvt_init+ius.irun // By default .vp, .v, .vs are parsed with Verilog 2001
-vlog_ext .v, .vs // We override the mapping for Verilog 2001 with only the other two extensions.
// Now .vp is not mapped to any Language Syntax.
// Because by default the unmapped extensions are skipped, .vp files will be skipped
• I want to change the Language Syntax for Unmapped Extensions:
+dvt_init+ius.irun // By default the unmapped extensions are skipped
© AMIQ
45
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
-default_ext verilog95 // Now unmapped extensions, for example .foo, will be parsed as Verilog 95
• I want to parse all Verilog source files and all files with unmapped extensions as
SystemVerilog, and all VHDL files as VHDL 2000:
+dvt_init+ius.irun
-default_ext systemverilog // All files with unmapped extensions are parsed as SystemVerilog
-sv // All Verilog source files are parsed with SystemVerilog
-v200x // All VHDL source files are parsed with VHDL 2000
4.5 Paths
You can specify absolute or relative paths.
Relative paths are resolved relative to the compilation root. By default the compilation root is
the project directory. However, when using the -F directive to include another argument file
the compilation root might change (for more details see Including Other Argument Files).
You can use environment variables when specifying paths.
You can use ant-like path patterns [http://ant.apache.org/manual/dirtasks.html#patterns] when
specifying top file paths:
• ? matches single character, e.g. top?.sv matches top1.sv and topA.sv but not top_1.sv
• * matches a sequence of characters from a file/directory name, e.g. top*/*.sv will match all
files with .sv extension from all the directories starting with top
• ** matches a sequence of directories from a path (recursively) e.g. **/*.sv matches all files
with .sv extension from the whole project directory tree
4.6 Strings
You may use single quoted (') or double quoted (") strings to group a piece of text so that it will
be considered a single directive argument. Example:
+define+FOO='my macro'
To use a quotation mark " in a string, you should escape it using backslash \ like this:
+define+MOO="Hello \"Moo\""
You can also use \" as string delimiter, and any " inside the string defined like this are
considered as part of the string, like this:
+define+MOO=\"Hello "Moo"\"
NOTE: When in vcs compatibility mode, the escaping only works in files included with -file
(see Including Other Argument Files).
© AMIQ
46
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
4.7 Comments
The following comment styles are allowed:
# single line comment
// single line comment
-- single line comment
/* multi
line
comment */
4.8 Environment Variables
To define an environment variable you can use the following syntax:
+dvt_env+<NAME>[=VALUE]
or, equivalently:
+dvt_setenv+<NAME>[=VALUE]
Examples:
+dvt_env+UVM_HOME=/uvm/uvm-1.1
+dvt_env+SPECMAN_PATH=$SPECMAN_PATH:/path/to/my/vips
To use the value of a system variable called ENV_VAR you can use any of the following
notations:
• $ENV_VAR
• ${ENV_VAR}
• %ENV_VAR%
Environment variables, either from the parent shell or explicitly defined, can be used to specify:
• top files
• directives that take a path as an argument, for example +incdir+
• value for defines
When an environment variable is not defined, but it is used, the behavior is as follows:
• for the value of a define directive, the define value is left as-is
© AMIQ
47
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
• for top files and directives that take a path as an argument, an error is signaled and such top
files and directives are ignored
• when used inside the value of an environment variable, it is expanded to the empty string
Environment variables are visible to the DVT parsers, like for example when used in the e
language import statements.
Environment variables are propagated to the external tools launched from DVT, for example
by using Run Configurations or External Builders.
When an environment variable is used inside a build file, only the +dvt_env+ directives above
the usage line are taken into account.
Predefined environment variables
Variable
Value
DVT_PROJECT_LOC Absolute path of the project directory.
4.9 Including Other Argument Files
You can include other argument files with -f, -F or -file:
-f /path/to/argument/file.f
The -f and -file directives are equivalent, except for the vcs compatibility mode. In the vcs
compatibility mode Strings [/wiki/Strings] are handled differently when using -f or -file.
The behavior of -F is not consistent across simulators, so DVT treats it according to the
compatibility mode:
dvt, vcs
questa
ius
when analyzing the contents of the included argument file, all relative paths are
resolved as relative to the parent directory of the argument file; in other words,
this is equivalent to changing the compilation root to be the parent directory of
the argument file
the directive is disregarded
when analyzing the contents of the included argument file, relative paths are resolved as
relative to the compilation root except for relative top file paths. Relative top file paths
are resolved as follows:
- first, as relative to the parent directory of the argument file
- if not found, as relative to the compilation root
4.10 Build Persistence
The internal DVT dictionary and information regarding the project state, like for example the
errors and warnings, are persisted on disk in the dvt database. When closing and re-opening
DVT, the project is restored from the persisted information to the saved state to avoid rebuilding.
© AMIQ
48
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
By default, the database is saved in the workspace directory under the location below:
<dvt_workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects/<project_name>/dict
When the current build is other than the default, the following location is used:
<dvt_workspace>/.metadata/.plugins/org.eclipse.core.resources/.projects/<project_name>/dict/bc_<current_b
You can specify a custom database location with the +dvt_db_location+ directive, like this:
+dvt_db_location+<path>
The database is saved in:
<path>/dvt_db/<project_name>
When the current build is other than the default, the following location is used:
<path>/dvt_db/<project_name>/bc_<current_build_name>
This directive is global: it has effect for all the compiled code, regardless of +dvt_init+
directives. If specified multiple times, only the first time is taken into account. This may change
in the future.
There are several use-cases for custom database location. Generally, the target is to eliminate
rebuilding after import:
• closing and re-opening DVT
• importing an existing project in a new workspace
• load a set of read-only files in "Browsing mode" (no edit)
DB Access Considerations
The pseudo-code algorithm below illustrates handling write access restrictions and concurrent
access to the location specified by the +dvt_db_location+ directive.
if <dvt_db_location> is in use by another DVT instance then
USE workspace db location
else
if read access is required
if <dvt_db_location> does not exist
READ FROM workspace db location
(*1) else if <dvt_db_location> is not writable and there is a saved snapshot in the workspace db location
READ FROM workspace db location
else
READ FROM <dvt_db_location>
else if write access is required
if <dvt_db_location> is not writable
(*1)
WRITE TO workspace db location
© AMIQ
49
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
else
(*2)
WRITE TO <dvt_db_location> and CLEAN UP workspace db location
(*1) Read only db locations force writes to the workspace db location and as a consequence the read only wil
(*2) The workspace db location is cleaned up in order to ensure that a fall back per (*1) is not outdated.
4.11 DVT Auto-Linked
Some of the files that DVT compiles for a project may be located outside the project directory
(see What is a Project). In order to benefit from DVTs advanced functionalities on such files,
they are automatically linked as if inside the project, under the <project_root>/DVT AutoLinked virtual folder. A virtual folder is a logical container - it has no physical representation
on the disk.
For example, a file physically located in:
/path/to/my/base/classes/file.ext
will be Auto-Linked under the following virtual folder hierarchy:
<project_root>
`DVT Auto-Linked
`path
`to
`my
`base
`classes
`file.ext
You can create new files or open existing ones anywhere in the DVT Auto-Linked hierarchy.
For creating new files, you can use the New File Wizard. The files thus created will have a
representation on the disk.
For opening existing files, you can right click on any folder in the DVT Auto-Linked hierarchy
and select Open from the context menu. A File Chooser will appear that will help you find the
file that you want.
In the case of very deep hierarchies, you can define "aliases" for paths using the
+dvt_auto_link_root+<alias>=<root_path> directive. These aliases are called DVT AutoLinked Roots.
For example by adding this line in the project's default.build:
+dvt_auto_link_root+base_classes=/path/to/my/base/classes/
the following virtual folder hierarchy is created:
<project_root>
© AMIQ
50
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
`DVT Auto-Linked
`base_classes
`file.ext
The specified <root_paths> and <aliases> must be unique, and therefore only the first
occurrence is considered.
Aliases may not be names of directories located directly under the filesystem root (like for
example /etc or /bin).
Environment variables may be used when specifying root paths, for example:
+dvt_auto_link_root+src=$HOME/a/b/c
Notes
• An environment variable may only be used at the beginning of a root path (that is, the
following will not work: +dvt_auto_link_root+src=/path/$VAR/a/b/c)
• Only environment variables inherited from the console where DVT was started may be used.
Variables defined using +dvt_env+ are not allowed.
• The +dvt_auto_link_root+ directive may only be used in the first invocation
More examples:
+dvt_auto_link_root+hdl=/a/b/c
All auto-linked files with a path that starts with /a/b/c will be presented in DVT Auto Linked/hdl
+dvt_auto_link_root+hdl=/a/b/c
+dvt_auto_link_root+hdl/d/e/f
The second directive will be ignored because the same "hdl" alias was used.
+dvt_auto_link_root+hdl=/a/b/c
+dvt_auto_link_root+src=/a/b/c
The second directive will be ignored because the same "/a/b/c" path was used.
+dvt_auto_link_root+hdl=/a/b
+dvt_auto_link_root+src=/a/b/c
All files under /a/b/c will be presented under src and the rest from /a/b under hdl.
4.12 Run a Script Before Build
In order to run a script before the build see the Build tab from the DVT Generic run
configuration. For more details see Run Configurations.
© AMIQ
51
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
4.13 All Build Directives
Directive
Note
Description
-ams
ius.irun
Compatibility
Mode-Specific
All files that would be parsed according to the File
Extension to Language Syntax Mapping or Language
Syntax for Unmapped Extensions with a VHDL
syntax flavor will be parsed with VHDL AMS 1999
instead. Has precedence over -v93 and -v200x.
-asext
<ext>[,<ext>]
ius.irun
Compatibility
Mode-Specific
Equivalent to -as_ext +<ext>[,<ext>]
-ccext <ext>
ius.irun
Compatibility
Mode-Specific
Equivalent to -c_ext +<ext>[,<ext>]
-cxxext <ext>
ius.irun
Compatibility
Mode-Specific
Equivalent to -cpp_ext +<ext>[,<ext>]
-cuname
<compilation_unit_name>
Compile under <compilation_unit_name> package; the
directive is enforced until:
* another -cuname directive is encountered
* +dvt_init directive is encountered
* end of default.build is encountered
-default_ext
<syntax>
ius.irun
Compatibility
Mode-Specific
+define
+<DEFINE>=<replacement>
Set the Language Syntax for Unmapped Extensions.
See ius.irun Compatibility Mode for more details
regarding the <syntax> argument.
Define a preprocessing define; the replacement is
optional; you may quote the replacement with ' or "; if
defined, environment variables are expanded.
-define
<DEFINE>=<replacement>
+dvt_active_test e Language Only The definition of structs/units/types declared in several
+<path>
Test Files is considered to be the one in the Active Test
File.
+dvt_auto_link
+<true/false>
GLOBAL
+dvt_auto_link_root
GLOBAL
+<alias>=<root_path>
Enable automatic linking of resources located outside
the project location. Default: true.
When Auto-Linking
<root_path>/subpath/to/file
link it as
© AMIQ
52
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
DVT Auto-Linked/<alias>/subpath/to/file
This directive helps to reduce the depth of the
virtual filesystem hierarchy under DVT Auto-Linked,
because the <root_path> sequence of virtual folders is
compacted to <alias> virtual folder. The <root_paths>
and <aliases> specified like this must be unique, and
therefore only the first occurrence is considered. This
is a global directive. Aliases may not be names of
directories located directly under the filesystem root
(like for example etc or bin).
+dvt_build_log_file_location
GLOBAL
+<path_to_existing_directory>
Specify the location of the internal builder log file.
Default: ./ (Project location).
+dvt_build_log_to_console
GLOBAL
+<true/false>
Enable/disable internal builder logging to console.
Default: true.
+dvt_build_log_to_file
GLOBAL
+<true/false>
Enable/disable internal builder logging to file. Default:
true.
+dvt_compilation_root
+</path/to/
compilation/
root>
Specify the compilation root. Relative paths specified in
default.build will be resolved as relative to this location,
except for the special cases that rise when Including
Other Argument Files.
+dvt_db_location GLOBAL
+<path>
Save the project database files under <path>/
dvt_db/<project_name> directory. The <path>/dvt_db/
<project_name> directory will be created if needed
and may be overwritten at each full/incremental
project build. In certain situations (for example
if write access for <path>/dvt_db/<project_name>
is denied or the directory is in use by
another DVT instance) DVT falls back to the
default location: <dvt_workspace>/.metadata/.plugins/
org.eclipse.core.resources/.projects/<project_name>.
+dvt_disable_parallel_lex_parse
GLOBAL
Disable lexing-parsing parallelization.
SystemVerilog
Only
+dvt_disable_preproc_optimize
GLOBAL
+<true/false>
SystemVerilog
Only
Disable DVT preprocessing optimizations. Default:
false.
+dvt_disable_checks
GLOBAL
Disable a set of semantic checks by ID.
+<check_id1>
+<...>
SystemVerilog
For
example:
+dvt_disable_checks
and VHDL Only +UNDECLARED_IDENTIFIER
© AMIQ
53
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
Possbile check IDs: UNDECLARED_IDENTIFIER,
MISSING_OTHERS_CHOICE,
REDUNDANT_OTHERS_CHOICE. By default no
checks are disabled.
+dvt_e_as_computed_translate_method
e Language Only Explicitly specify the user-defined methods used in
+<package>::<struct>.<method>
as computed macros. The <package> is optional and
defaults to main if not specified.
+dvt_e_enable_non_standard_checks
GLOBAL
Enable/disable non-standard syntax and semantic
+<true/false>
checks. Default: false.
e Language Only
+dvt_e_sn_which_emulation
GLOBAL
Use the following set of search paths to locate VIPs\n
instead of sn_which.sh:
e Language Only
/
<IUS Install Location>/specman/linux/
<IUS Install Location>/specman/src/
<IUS Install Location>/specman/docs/
<IUS Install Location>/specman/tcl/specman/
<IUS Install Location>/specman/linux/
<IUS Install Location>/specman/src/
<IUS Install Location>/specman/docs/
<IUS Install Location>/specman/tcl/specman/
<IUS Install Location>/specman/erm_lib/
<IUS Install Location>/specman/sn_lib/
<IUS Install Location>/specman/packages/
<IUS Install Location>/specman/uvm/uvm_lib/
<IUS Install Location>/specman/ovm/ovm_lib/
<IUS Install Location>/specman/erm_lib/
<IUS Install Location>/specman/sn_lib/
<IUS Install Location>/specman/packages/
© AMIQ
54
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
<IUS Install Location>/specman/uvm/uvm_lib/
<IUS Install Location>/specman/ovm/ovm_lib/
+dvt_e_macro_strict_exp_checking
GLOBAL
If true, the <exp> match expression will match only
+<true/false>
valid expressions. If false, <exp> is equivalent with the
e Language Only <any> match expression that matches any non-empty
sequence of characters. Default: false.
+dvt_e_macro_exp_back_tracking
GLOBAL
If true, the parser will reject a user defined expression
+<true/false>
match if the result of the macro reparse is not a valid
e Language Only expression. Default: true.
+dvt_e_sn_extract_defines
GLOBAL
Automatically extract and define the Specman version
+<true/false>
defines. Default: true.
e Language Only
+dvt_e_sn_which_add
GLOBAL
By default, the following VIPs are located using
+<vip1>+<vip2>
sn_which.sh, and their locations are added to the
+...
e Language Only $SPECMAN_PATH: evc_util, vr_ad, ovm_e, uvm_e.
When an irun installation newer than 13.10 is detected,
+dvt_e_sn_which_clear
only evc_util, vr_ad, and uvm_e are added. Use
+dvt_sn_which_add+<vip1>+<vip2>+... to add to this
list and +dvt_sn_which_clear to clear it.
+dvt_enable_unknown_directive_warnings
GLOBAL
Trigger warnings for unknown build directives. Default:
+<true/false>
false.
+dvt_env
+<NAME>[=VALUE]
Define an environment variable. Its value is visible for
subsequent directives and during parsing.
+dvt_setenv
+<NAME>[=VALUE]
+dvt_ext_map
+<syntax>
+<ext>
Files with <ext> extension are parsed using the specified
<syntax>. See Default DVT Compatibility Mode for
more details regarding <syntax>.
+dvt_ext_unmap
+<ext>
Files with <ext> extension are parsed using the
Language Syntax for Unmapped Extensions.
+dvt_ext_unmap_all
All files are parsed using the Language Syntax for
Unmapped Extensions.
+dvt_ext_unmapped_syntax
+<syntax>
Set the Language Syntax for Unmapped Extensions.
See Default DVT Compatibility Mode for more details
regarding <syntax>.
+dvt_extended_checks
DEPRECATED
+
During incremental compilation, basic semantic
checking is performed for all the code.
Extended checks are applied only on parts of the code,
in order to prevent performance penalty.
This directive controls the granularity of the extended
semantic checks during incremental build:
© AMIQ
55
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
+dvt_extended_checks+AUTO - extended semantic
cheks in all of the code
+dvt_extended_checks+MANUAL - basic semantic
checks in all of the code
NOTE: You can manually trigger extended semantic
cheks in all of the code.
+dvt_extract_comment_above
GLOBAL
+<true/false>
Verilog Only
Extract comments above elements. Default: true.
+dvt_extract_comment_above_max_empty_lines
GLOBAL
Extract comment if located at no more than specified
+<number_of_lines>
number of empty lines above element declaration.
Verilog Only
Default: 1.
+dvt_extract_comment_bcd
GLOBAL
+<true/false>
Verilog Only
Extract /** begin comment delimiter comments.
Default: true.
+dvt_extract_comment_inline
GLOBAL
+<true/false>
Verilog Only
Exctract comments inline with elements. Default: true.
+dvt_extract_comment_ml
GLOBAL
+<true/false>
Verilog Only
Extract /* multi line comments. Default: true.
+dvt_extract_comment_sl
GLOBAL
+<true/false>
Verilog Only
Extract // single line comments. Default: true.
+dvt_file_compile_timeout
GLOBAL
+<timeout>
During full compilation, skip parsing a file if it takes
more than the specified threshold (in seconds). Set 0 for
disable timeout. Default: 40 seconds.
+dvt_file_substituteGLOBAL
During compilation, the <file_path> file will be
+<file_path>=<substitute_file_path> substituted with the <substitute_file_path> file.
SystemVerilog
Only
+dvt_full_compile_checks
GLOBAL
In order to speed-up full compilation, you may chose to
+<scope>
fully check only a relevant subset your source code. This
SystemVerilog
directive controls the scope of the full build checks:
and VHDL Only
+dvt_full_compile_checks+FULL - all of the code is
checked
+dvt_full_compile_checks+LIBS - only the specfied
libraries are checked, some basic checks are still
performed for the rest of the code
© AMIQ
56
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
+dvt_full_compile_checks+OFF - only some basic
checks are performed
Default: FULL
+dvt_incremental_compile_checks
GLOBAL
+<scope>
SystemVerilog
and VHDL Only
In order to speed-up incremental compilation, you
may chose to fully check only a relevant subset your
source code. This directive controls the scope of the
incremental build checks:
+dvt_incremental_compile_checks+FULL - all of the
code is checked
+dvt_incremental_compile_checks+LIB - only the
corresponding libraries of the modified files are
checked, some basic checks are still performed for the
rest of the code
+dvt_incremental_compile_checks+FILE - only the
modified files are checked, some basic checks are still
performed for the rest of the code
+dvt_incremental_compile_checks+OFF - only some
basic checks are performed all over the code
Default: LIB
+dvt_incremental_compile_max_lines
GLOBAL
Files with more than max lines will not be incrementally
+<max_lines_number>
compiled. Set 0 for infinite limit. Default: 7000.
+dvt_incremental_compile_timeout
GLOBAL
During incremental compilation, skip the file if parsing
+<timeout>
or semantic checking takes more than the specified
threshold (in seconds). Set 0 for disable timeout.
Default: 4 seconds.
+dvt_init
+<mode>
Equivalent of a new invocation, resets all directives. See
Compatibility Modes for a detailed description.
+dvt_max_nof_threads
GLOBAL
+<num_threads>
Configure the maximum number of threads to use during
different phases of intensive computation (e.g. semantic
checking, etc.). Default: 8
+dvt_path_pattern_timeout
+<timeout>
Timeout in seconds when scanning path patterns (like
for example /**/*.v). Default: 5.
+dvt_preprocess_translate_pragmas
Verilog Only
Instructs DVT to skip analyzing the code between
+<pragma1>
pragmas such as
+<pragma2>+...
// <pragma> translate_off
// <pragma> translate_on
© AMIQ
57
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
You can specify any number of pragmas as arguments
to this directive, separated by '+' like for example
+dvt_preprocess_translate_pragmas+pragma+synopsys
+synthesis
+dvt_semantic_checks_timeout
GLOBAL
+<timeout>
SystemVerilog
and VHDL Only
Popup semantic checking dialog asking to continue or
stop when full compilation semantic checking takes
more than the specified timeout (in seconds). Default
value: 30.
+dvt_skip_compile
+<simple_pattern>
Instructs DVT to skip analyzing the files whose absolute
path matches the specified <simple_pattern>. In a
simple pattern you can use wildcards such as '*' (any
string) and '?' (any character). Such skipped files are
decorated distinctively in the Navigator View:
.
+dvt_skip_compile
+not
+<simple_pattern>
Instructs DVT to skip analyzing the files whose absolute
path does not match the specified <simple_pattern>. In
a simple pattern you can use wildcards such as '*' (any
string) and '?' (any character). Such skipped files are
decorated distinctively in the Navigator View:
.
+dvt_skip_compile
+regex
+<regex_pattern>
Instructs DVT to skip analyzing the files whose absolute
path matches the specified <regex_pattern>. Such
skipped files are decorated distinctively in the Navigator
View:
.
+dvt_skip_compile
+regex+not
+<regex_pattern>
Instructs DVT to skip analyzing the files whose absolute
path does not match the specified <regex_pattern>.
Such skipped files are decorated distinctively in the
Navigator View:
.
+dvt_skip_ext
+<ext>
Do not parse top files with <ext> extension.
The dot (.) for specifying <ext> is optional. For
example +dvt_skip_ext+.gv and +dvt_skip_ext+gv are
equivalent.
+dvt_test+<path> e Language Only Specify a top file and mark it as test. For example, the e
Language test files have a special status, see e Language
Test Files.
© AMIQ
58
Rev. 3.5.35
DVT VHDL IDE
-extinclude
Chapter 4. Build
Configurations
vcs.vlogan
Compatibility
Mode-Specific
+incdir+<path>
www.dvteclipse.com
The included files are parsed using the syntax as
specified by directives, that is using by ext syntax
(if explicit) or the syntax for unmapped extensions. It
overrides the default behavior.
Indicate search directories for files included with
`include preprocessing directive.
-incdir <path>
+libext+<suffix>
Specify accepted extensions for files in the library
directories. Note: there are no default extensions, .v
and .sv don't have a special status.
-libmap <path>
Specify the Verilog library map file.
+librescan
When DVT finds an unresolved module reference in a
library file or directory, it will scan for the unresolved
reference starting from the first specified library; by
default (librescan not specified) it starts scanning from
the library that introduced the unresolved reference and
continues using the specified libraries order.
-librescan
-objext <ext>
ius.irun
Compatibility
Mode-Specific
-ovm
Equivalent to -o_ext +<ext>[,<ext>]
In all modes except the ius.irun Compatibility Mode it
is equivalent with
-uvm
+incdir+/path/to/uvm/src
/path/to/uvm/src/uvm_pkg.sv
where
/path/to/uvm
is
$UVM_HOME
or
$DVT_UVM_HOME if $UVM_HOME is not
defined.
In the ius.irun Compatibility Mode /path/to/uvm is
using the IUS installation.
-ovmhome
ius.irun
Compatibility
Mode-Specific
Load the OVM / UVM library from the specified
<path>. Has precedence over -ovm / -uvm.
-sndefine <arg>
ius.irun
Compatibility
Mode-Specific
Equivalent to +define+<arg>
-snpath <path>
ius.irun
Compatibility
Mode-Specific
Equivalent
to
+dvt_env+SPECMAN_PATH=
$SPECMAN_PATH:<path>
-sv
ius.irun
Compatibility
Mode-Specific
All files that would be parsed according to the File
Extension to Language Syntax Mapping or Language
Syntax for Unmapped Extensions with a Verilog
-uvmhome
© AMIQ
59
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
syntax flavor will be parsed with SystemVerilog 2012
instead. Has precedence over -v1995.
-sverilog
vcs.vlogan
Compatibility
Mode-Specific
Sets the syntax for unmapped extensions to
SystemVerilog. This directive has precedence over
+v2k.
-<syntax>_ext
ius.irun
[+]<ext>[,<ext>] Compatibility
Mode-Specific
Files with <ext> extension will be parsed using the
specified <syntax>. If the optional + is specified, the
mapping will be added to the default File Extension
to Language Syntax Mapping. Otherwise, the default
mapping of the specified <syntax> is overridden. If you
specify the override directive multiple times for the
same <syntax>, the default File Extension to Language
Syntax Mapping will be overridden only the first time.
You can specify more extensions at once, commaseparated, for example - vlog_ext .svh,.svp. The dot (.)
for specifying <ext> is mandatory.
The following directives are supported: -a_ext, amsvhdl_ext, -amsvlog_ext, -as_ext, -c_ext, -cpp_ext,
-dynlib_ext, -e_ext, -o_ext, -spice_ext, -sysv_ext, vhcfg_ext, -vhdl_ext. See ius.irun Compatibility Mode
for more details regarding <syntax>.
+systemverilogext vcs.vlogan
+<ext>
Compatibility
Mode-Specific
All files with <ext> extension are parsed using the
SystemVerilog syntax.
+UVM_TESTNAME
GLOBAL
The name of the UVM test which will be automatically
created under uvm_root.
-v <path>
Specify a Verilog library file.
-v1995
ius.irun
Compatibility
Mode-Specific
All files that would be parsed according to the File
Extension to Language Syntax Mapping or Language
Syntax for Unmapped Extensions with Verilog 2001
will be parsed instead with a reduced keywordset
variant of Verilog 2001. The reduced keywordset does
not contain the keywords automatic, localparam,
generate, endgenerate, and genvar.
-v200x
ius.irun
Compatibility
Mode-Specific
All files that would be parsed according to the File
Extension to Language Syntax Mapping or Language
Syntax for Unmapped Extensions with a VHDL
syntax flavor (but not VHDL AMS) will be parsed with
VHDL 2000 instead. Has precedence over -v93.
-v93
ius.irun
Compatibility
Mode-Specific
All files that would be parsed according to the File
Extension to Language Syntax Mapping or Language
Syntax for Unmapped Extensions with a VHDL
syntax flavor (but not VHDL AMS) will be parsed with
VHDL 93 instead.
-v95
© AMIQ
60
Rev. 3.5.35
DVT VHDL IDE
+v2k
Chapter 4. Build
Configurations
www.dvteclipse.com
vcs.vlogan
Compatibility
Mode-Specific
Sets the syntax for unmapped extensions to Verilog
2001.
+verilog1995ext vcs.vlogan
+<ext>
Compatibility
Mode-Specific
All files with <ext> extension are parsed using the
Verilog 1995 syntax.
+verilog2001ext vcs.vlogan
+<ext>
Compatibility
Mode-Specific
All files with <ext> extension are parsed using the
Verilog 2001 syntax.
-vhdl87
vcs.vhdlan
Compatibility
Mode-Specific
Sets the syntax for unmapped extensions to VHDL
1076-1987.
-vhdlext <ext>
ius.irun
Compatibility
Mode-Specific
Equivalent to -vhdl_ext +<ext>[,<ext>]
-vlogext <ext>
ius.irun
Compatibility
Mode-Specific
Equivalent to -vlog_ext +<ext>[,<ext>]
-w <lib>
vcs.vhdlan
Compatibility
Mode-Specific
Compile intro library <lib>.
-work <lib>
-work <lib>
Compile into library <lib>.
-y <path>
Specify a Verilog library directory.
4.14 e Language Test Files
Test Files are parsed independently on top of the Top Files.
A Test File can be specified using the following directive:
+dvt_test+/path/to/test_file.e
All Test Files and the files imported by Test Files, but not part of Top Files and the files imported
by Top Files, are decorated with a green bullet:
4.15 e Language SPECMAN_PATH
The SPECMAN_PATH environment variable is used by the e Language parser to find imported
files.
It can be defined or altered by using the +dvt_env+ directive.
© AMIQ
61
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
When relative paths are provided, they are automatically transformed into paths relative to the
compilation root directory. By default the compilation root is the project directory. For more
details see Paths.
Examples:
Define/overwrite shell-inherited value
+dvt_env+SPECMAN_PATH=/my/specman/
path1:/my/specman/path1
Append to shell-inherited value
+dvt_env+SPECMAN_PATH=
$SPECMAN_PATH:/my/specman/path
Prepend to shell-inherited value
+dvt_env+SPECMAN_PATH=/my/specman/
path:$SPECMAN_PATH
Append <project_root>/e directory to the +dvt_env+SPECMAN_PATH=
SPECMAN_PATH
$SPECMAN_PATH:e
Backward-compatibility note: starting with DVT version 3.2, if a .build file is used to configure
the project, the .edt_specman_path file is ignored.
Adding VIPs to $SPECMAN_PATH using sn_which.sh
You can specify a list of VIPs that should automatically be located by DVT using sn_which.sh
and added to the $SPECMAN_PATH (if available in the console where DVT was started). The
Specman version defines (e.g define SPECMAN_VERSION_###) are also detected using the
same mechanism.
By default, the following VIPs are located and added automatically: evc_util, vr_ad, ovm_e,
uvm_e
4.16 SystemVerilog OVM or UVM
Library Compilation
Typically the OVM or UVM libraries are compiled using directives like:
+incdir+/path/to/xvm/src
/path/to/xvm/src/xvm_pkg.sv
Using the -ovm or -uvm directives
You can use the - ovm or - ''-uvm'' directives to compile the OVM or UVM libraries. They are
shortcuts for the explicit directives above.
For - ''-uvm'':
1. If the $UVM_HOME system variable is specified, use that library.
2. If the $DVT_UVM_HOME system variable is specified, use that library. If you launch DVT
using one of the utility scripts that ship with DVT, $DVT_UVM_HOME is set by default to
the most recent uvm library in $DVT_PREDEFINED_PROJECTS/libs.
© AMIQ
62
Rev. 3.5.35
DVT VHDL IDE
Chapter 4. Build
Configurations
www.dvteclipse.com
The - ''-ovm'' directive works in a similar way.
NOTE: At any time you can set a system variable using for example:
+dvt_setenv+UVM_HOME=/path/to/xvm
© AMIQ
63
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 5. Compile Checks
The DVT internal builder performs various checks on the source code.
• Syntax Checks indicate wrong syntax according to the IEEE standard, for example typos
like 'etity' instead of 'entity' when declaring an entity. Syntactic checking is the first level
checking performed on the code during parsing.
• Semantic Checks indicate wrong semantic according to the IEEE standard, for example
calling an undefined procedure 'foo()'. For performance reasons, not all semantic checks
are performed at once. A subset is performed during full or incremental compilation. The
complete set of checks is performed on demand, when explicitely triggered.
Check failures are signaled as compile problems, with the error or warning severity. The
compile problems are presented in the Problems View. For performance reasons not all compile
problems are visible at once in the Problems View.
You can use Compile Waivers to change the severity (promote/demote) or disable the problems
reported by DVT during build.
5.1 Compile Waivers
You can use waivers to change the severity (promote/demote) or disable the problems reported
by DVT during compilation.
Promote
Warning -> Error
Demote
Error -> Warning
Disable
Hide
Waivers are defined per project, in the .dvt/waivers.xml file.
To quickly create a waivers file click on the Edit waivers button in the Problems View. The
.dvt/waivers.xml is created with a default content and opened. You can easily create your own
waivers from the default generated ones. In the waivers editor you can use autocomplete for
tags, attributes and attribute values.
To quickly create a new waiver, in the Problems View right click on any problem reported
by DVT and waive it. DVT proposes some default values for the waiver description, path and
message. You can easily change them to fine-tune the waiver.
You can include other waiver files using the <include/> tag.
Compile Waivers Examples
Use Case
Solution
I want to hide all errors from a library that I do <waiver name="Disable all from library
not control.
folder."
severity="DISABLED"><match
path="/path/to/library/*"/></waiver>
© AMIQ
64
Rev. 3.5.35
DVT VHDL IDE
Chapter 5. Compile Checks
www.dvteclipse.com
I want to hide all errors that I don't care about. <waiver
name="Disable
all
that
match a specific message pattern."
severity="DISABLED"><match
message="*some message pattern*"/></
waiver>
I want to hide DVT false alarms until the issue Use a message based and/or path based waiver.
is fixed.
Compile Waivers File Syntax (XML)
<!-XML file header; required.
-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE waivers PUBLIC "-//DVT//waivers" "waivers.dtd" >
<!-Root tag; required.
Version attribute is required.
The latest syntax version, illustrated by this example, is version 1.
-->
<waivers version="1">
<!-You can include waivers from other waiver files. The syntax
of the included files is the same as this. You may use system
variables in the path to included waiver files.
-->
<include path="$COMMON/path/to/included_waivers.xml"/>
<!-The root tag must contain at least one waiver.
The waiver tag must specify the NEW severity of the problems
waived by this waiver; it can be one of ERROR, WARNING or DISABLED
-->
<waiver name="Optional short name of the waiver" severity="DISABLED">
<description>An optional verbose description of the waiver.</description>
<!-Each waiver must contain at least one match tag.
Each match tag must specify a message pattern, a path pattern or both.
A match tag matches a problem if ALL specified patterns match.
The waiver will waive a problem if ANY of the match tags matches.
NOTE:
path pattern is NOT matched against the project relative path
patterns may contain * or ? wildcards
-->
<match
message="pattern to match against the problem's message"
path="/pattern/to/match/against/the/problems/absolute/path"/>
<match message="*message pattern*" path="/path/pattern*"/>
© AMIQ
65
Rev. 3.5.35
DVT VHDL IDE
Chapter 5. Compile Checks
www.dvteclipse.com
<match message="*only by message*"/>
<match path="/only/by/path*"/>
</waiver>
<!-- Further example waivers -->
<waiver name="Disable by message" severity="DISABLED">
<description>
This waiver disables all problems containing 'JUST_A_FOO_PROBLEM'
inside their message.
</description>
<match message="*JUST_A_FOO_PROBLEM*"/>
</waiver>
<waiver name="Demote by path" severity="WARNING">
<description>
This waiver turns into warnings all problems reported
under '/path/to/foo'
</description>
<match path="/path/to/foo/*"/>
</waiver>
<waiver name="Promote by path OR message" severity="ERROR">
<description>
This waiver turns into errors all problems that
contain 'JUST_A_FOO_PROBLEM' inside their message OR were reported
under '/path/to/foo'.</description>
<match message="*JUST_A_FOO_PROBLEM*"/>
<match path="/path/to/foo/*"/>
</waiver>
<waiver name="Disable by path AND message" severity="DISABLED">
<description>
This waiver disables all problems that contain 'JUST_A_FOO_PROBLEM'
inside their message AND were reported
under '/path/to/foo'.</description>
<match message="*JUST_A_FOO_PROBLEM*" path="/path/to/foo/*"/>
</waiver>
</waivers>
5.2 Semantic Checks
ID
Message
Notes
Package,
library use
UNDECLARED_LIBRARY
Library # is not declared
Basic
UNDECLARED_PACKAGE
Package # is not declared
Basic
Entities
UNDECLARED_ENTITY
Entity # is not declared
Basic
DUPLICATE_ENTITY
Duplicate entity #, already declared at line # in #
Extended
© AMIQ
66
Rev. 3.5.35
DVT VHDL IDE
Chapter 5. Compile Checks
www.dvteclipse.com
Architectures
UNDECLARED_ARCHITECTURE
Architecture # is not declared
Basic
DUPLICATE_ARCHITECTURE
Duplicate architecture #, already declared at line # in #
Extended
Components
UNDECLARED_COMPONENT
Component # is not declared
Basic
DUPLICATE_COMPONENT
Duplicate component #, already declared at line # in #
Extended
Configurations
UNDECLARED_CONFIGURATION
Configuration # is not declared
Basic
DUPLICATE_CONFIGURATION
Duplicate configuration #, already declared at line # in #
Extended
Packages
DUPLICATE_PACKAGE
Duplicate package #, already declared at line # in #
Extended
DUPLICATE_PACKAGE_BODY
Duplicate package body #, already declared at line # in #
Extended
Variables,
Arguments,
Attributes,
Constants
DUPLICATE_VARIABLE
Duplicate variable #, already declared at line # in #
Extended
DUPLICATE_PORT
Duplicate port #, already declared at line # in #
Extended
Processes
DUPLICATE_PROCESS
Duplicate process #, already declared at line # in #
Extended
Type
aliases
UNDECLARED_TYPE
Type # is not declared
Basic
Types
DUPLICATE_TYPE
Duplicate type #, already declared at line # in #
Extended
Instances
DUPLICATE_INSTANCE
Duplicate instance #, already declared at line # in #
Extended
Blocks
DUPLICATE_NAMED_BLOCK
Duplicate named block #, already declared at line # in #
Extended
Vunits
DUPLICATE_VUNIT
Duplicate vunit #, already declared at line # in #
Extended
Associated
types
(fields,
variables,
functions,
etc.)
NON_EXISTING_TYPE
Non existing type #
© AMIQ
Extended
67
Rev. 3.5.35
DVT VHDL IDE
Chapter 5. Compile Checks
www.dvteclipse.com
Hierarchical
identifiers
UNDECLARED_IDENTIFIER
Identifier # is not declared
Extended
UNDECLARED_IDENTIFIER
Identifier # is not a member of #
Extended
UNEXPECTED_IDENTIFIER
Expecting function # but actual target is not a function
Extended
Case
enumerated
choices
DUPLICATE_WHEN_CHOICE
Duplicate case enumerated choice # already declared, already Extended
declared at line # in #
MISSING_ENUM_CHOICE
Case enumerated choice # is not defined
Extended
MISSING_OTHERS_CHOICE
Case choice 'others' is not defined
Extended
OTHERS_CHOICE_USED
Case choice 'others' used for non-explicit enumerated choices # ... Extended
REDUNDANT_OTHERS_CHOICE
Case choice 'others' is redundant
Extended
INCONSISTENT_CHOICES
Case choices inconsistent number of bits
Extended
© AMIQ
68
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 6. Content Assist
(Autocomplete)
Content assist provides you with a list of suggested completions for partially entered text.
Proposals are context dependent and include accessible entities, architectures, configurations,
variables, signals, constants,functions, procedures, etc. as well as templates for various
constructs.
Press Ctrl+Space to trigger content assist.
Content assist is triggered automatically in some contexts, for example when you type in a <=,
or := in the editor.
Proposals are presented in a list for you to chose from. Moving through proposals you can
quickly see the related documentation.
Press Enter or click to select a proposal or Esc to cancel the assist.
© AMIQ
69
Rev. 3.5.35
DVT VHDL IDE
Chapter 6. Content
Assist (Autocomplete)
www.dvteclipse.com
Sometimes autocomplete has many proposals that are split in several categories:
1) the first one is for things you can access in a scope (variables, signals, functions, procedures
etc. depending on the enclosing scope) 2) the second one is for code templates 3) the third one
is for other things, like entities/components instances
If you press Ctrl+Space the first time, you'll see a small indication in the proposals pop-up
window at the bottom, something like "Press Ctrl+Space again to see template proposals".
Pressing Ctrl+Space cycles through the categories above.
6.1 Content assist for CamelCase and
Underscore
You can quickly filter the proposals list by using capital letters or underscores as anchors like
the the examples below:
© AMIQ
70
Rev. 3.5.35
DVT VHDL IDE
Variable Name
Chapter 6. Content
Assist (Autocomplete)
Substrings that do find variable
www.dvteclipse.com
Substrings that don't
find the variable
uvmTestDoneObjectionBase
uTesDonObj, DoneObj, TDOB
estDone, tionBase
uvm_test_done_objection_base
uv_te_d_o_b, t_d_o, TDO
ne_objection
uvm_TESTDone_objectionBASE
uv_T_D_o_b,
TESDOB
test_done_objection_base, ESTDone_,
one_objection
Natural behavior with ignore case turned on or off.
6.2 Component Automatic
Instantiation
You need to type the first letters of the component(entity, configuration, component) name,
then press Ctrl+Space three (3) times. You can recognize component instances by their icon,
it looks like a chip with ports ready to be glued in.
6.3 Code Templates
Code templates are presented in content assist. Press the first letters from the template name
then click Ctrl+Space twice to get a list of available templates.
© AMIQ
71
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 6. Content
Assist (Autocomplete)
72
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 7. Content Filters
Apply Content Filters to remove irrelevant information displayed in views. See Content Filters
Examples for a list of use cases and examples.
Toggle the content filtering functionality (on/off) with this toolbar button: .
All views have a special indication that is:
• enabled if some content has been filtered
• disabled if no content has been filtered or content filters off
For example in Types View:
By default, elements from the UVM, OVM and VMM libraries are filtered. See Predefined
Content Filters for details.
You can define custom Content Filters in the .dvt/content_filters.xml file. To quickly create
.dvt/content_filters.xml with some example filters, right click on the project and go to New >
DVT Content Filters XML. See Content Filters XML syntax.
7.1 Content Filters XML syntax
The .dvt/content_filters.xml file contains filter definitions using the syntax documented
below.
When editing .dvt/content_filters.xml you can use Autocomplete by pressing Ctrl + Space.
Any errors encountered while loading the .dvt/content_filters.xml are reported in the DVT
Internal Build Console.
<!-XML file header; required.
-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE content-filters PUBLIC "-//DVT//content_filters" "content_filters.dtd" >
<!-Root tag; required. Version attribute is required. The latest syntax
version, illustrated by this example, is version 1.
-->
© AMIQ
73
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
<content-filters version="1">
<!-The root tag must contain at least one filter.
An element is filtered if it matches all the filters.
The filter tag must specify the kind="HIDE" attribute.
The filter tag may specify a name attribute.
-->
<filter kind="HIDE" name="Filter name">
<description>An optional verbose description of the filter.</description>
<!-Each filter must specify at least one of the following tags:
path-set, element-text-set or element-type-set
-->
<!-The path-set tag must specify a match attribute.
If match="TRUE" the set comprises of the enumerated paths (see below).
If match="FALSE" the set comprises any path except the enumerated ones (see below).
An element (problem, task, type, function, macro etc) matches the path-set if it is
defined/introduced in a file within the path-set.
The path-set tag may specify an apply-to-macro-call-stack attribute.
By default apply-to-macro-call-stack="FALSE".
If apply-to-macro-call-stack="TRUE" an element introduced by a macro call will
match the path set if the macro matches the path-set.
-->
<path-set match="TRUE" apply-to-macro-call-stack="TRUE">
<!-A path-set must contain at least a path attribute.
The path tag must specify a pattern attribute.
The pattern may contain wildcards ? (any character) and * (any sequence of characters).
The pattern may contain environment variables. You may not use
variables defined in build configuration files using +dvt_env+ directive.
The path tag may specify an include-children attribute.
By default include-children="FALSE".
If include-children="TRUE" any file `included (SystemVerilog)
or imported (e Language) directly or indirectly by
a file matching the pattern, is also part of the path-set.
-->
<path pattern="*/uvm_pkg.sv" include-children="TRUE" />
<path pattern="*/vr_ad_top.e" include-children="TRUE" />
</path-set>
<!-The element-text-set tag must specify a match attribute.
If match="TRUE", an element matches the set if it matches any element-text tag.
© AMIQ
74
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
If match="FALSE", an element matches the set if it does not match any element-text tag.
An element (problem, task, type, function, macro etc) matches the text-set if its displayed
label matches the text-set.
-->
<element-text-set match="TRUE">
<!-An element-text-set must contain at least one element-text tag.
The element-text tag must specify a pattern attribute.
The pattern may contain wildcards ? (any character) and * (any sequence of characters).
-->
<element-text pattern="_internal_*"/>
</element-text-set>
<!-The element-type-set tag must specify a match attribute.
If match="TRUE", an element matches if it matches any element-type tag.
If match="FALSE", an element matches if it does not match any element-type tag.
-->
<element-type-set match="TRUE">
<!-An element-type-set must contain at least one element-type tag.
The element-type tag must specify the name attribute.
Valid values for the element-type name are:
COVER, EVENT, ONEVENT, EXPECT, MACRO, METHOD, METHOD_TYPE,
SCALAR_TYPE, STRUCT, ACTION_BLOCK, ASSERT_EXPECT, CHECKER,
CLASS, CLOCKING_BLOCK, CONSTRAINT, COVERGROUP, COVERPOINT,
COVERCROSS, FIELD, FUNCTION, GENERATE_BLOCK, INTERFACE, MODPORT,
MODULE, PACKAGE, PRIMITIVE, PROGRAM, PROPERTY_SEQUENCE, TYPE_ALIAS,
PARAMETER, TYPE_PARAMETER, ARCHITECTURE, BLOCK, COMPONENT, ENTITY,
PACKAGE_BODY, CONFIGURATION, INSTANCE, SIGNAL, PORT, PROCESS,
VARIABLE, TYPE
The element-type tag may specify a language attribute which helps to fully identify
an element which is valid in multiple languages (for example STRUCT is a valid element
type both in SystemVerilog and e Language)
The valid values for the language attribute are: E, SV and VHDL.
-->
<element-type name="STRUCT" language="SV" />
</element-type-set>
<!-Each filter may specify a view-set tag.
If view-set is not specified, the filter applies to all views.
The view-set tag must specify a match attribute.
If match="TRUE" the set comprises of the enumerated views (see below).
If match="FALSE" the set comprises all views except the enumerated ones (see below). -->
<view-set match="TRUE">
<!-© AMIQ
75
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
A view-set must contain at least one view tag. The view tag must
specify the name attribute. Possible values for the name attribute are: DESIGN_HIERARCHY,
DIAGRAM, TYPE_HIERARCHY_MEMBERS, MACRO, OUTLINE, PROBLEMS, SEARCH, T
TYPES_MEMBERS, UVM_BROWSER_CLASSES, UVM_BROWSER_MEMBERS -->
<view name="TASKS" />
</view-set>
</filter>
</content-filters>
7.2 Content Filters Examples
• Hide the Types, Tasks and Problems from a library
<filter kind="HIDE" name="Base classes">
<description>Hide the Types, Tasks and Problems from /path/to/my_base_classes</description>
<view-set match="TRUE">
<view name="TYPES" />
<view name="TASKS" />
<view name="PROBLEMS" />
</view-set>
<path-set match="TRUE">
<path pattern="/path/to/my_base_classes/*" />
</path-set>
</filter>
• Hide the Tasks and Problems from a library
<filter kind="HIDE" name="My library">
<description>Hide the Tasks and Problems from files included by my_library_top.svh</description>
<view-set match="TRUE">
<view name="TASKS" />
<view name="PROBLEMS" />
</view-set>
<path-set match="TRUE">
<path include-children="TRUE" pattern="*/my_library_top.svh" />
</path-set>
</filter>
• Hide from Outline View the functions and fields introduced by specific macros
<filter kind="HIDE" name="Noisy macros">
<description>Hide from Outline View the functions and fields introduced by macros defined in files under
<view-set match="TRUE">
<view name="OUTLINE" />
</view-set>
<path-set apply-to-macro-call-stack="TRUE" match="TRUE">
<path pattern="$MY_MACROS_LIBRARY/*" />
© AMIQ
76
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
</path-set>
<element-type-set match="TRUE">
<element-type name="FUNCTION"/>
<element-type name="FIELD"/>
</element-type-set>
</filter>
• See only tasks that contain REVIEW_FIRST from a library
<filter kind="HIDE" name="REVIEW_FIRST tasks">
<description>Hide the tasks that don't contain REVIEW_FIRST from /path/to/my_in_progress_folder</de
<view-set match="TRUE">
<view name="TASKS" />
</view-set>
<path-set match="TRUE">
<path pattern="/path/to/my_in_progress_folder/*" />
</path-set>
<element-text-set match="FALSE">
<element-text pattern="*REVIEW_FIRST*"/>
</element-text-set>
</filter>
7.3 Predefined Content Filters
By default, elements defined in the UVM, OVM and VMM libraries are filtered out by
Predefined Content Filters from the following views:
• Design Hierarchy
• Diagram
• Macros (and Quick Macros)
• Outline (and Quick Outline)
• Problems
• Search
• Tasks
• Type Hierarchy (Members Panel)
• Types (and Quick Types)
• UVM Browser (Classes and Members Panels)
You can easily enable/disable Predefined Content Filters form the preference page: menu
Window > Preferences then DVT > Content Filters.
© AMIQ
77
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
The Predefined Content Filters definitions are:
<filter kind="HIDE">
<view-set match="TRUE">
<view name="DESIGN_HIERARCHY"/>
<view name="OUTLINE"/>
<view name="PROBLEMS"/>
<view name="SEARCH"/>
<view name="TASKS"/>
<view name="TYPES"/>
<view name="TYPE_HIERARCHY_MEMBERS"/>
<view name="UVM_BROWSER_CLASSES"/>
<view name="UVM_BROWSER_MEMBERS"/>
</view-set>
<path-set match="TRUE" apply-to-macro-call-stack="TRUE">
<path include-children="TRUE" pattern="*/ovm.svh" />
<path include-children="TRUE" pattern="*/ovm_pkg.sv" />
<path include-children="TRUE" pattern="*/ovm_e_top.e" />
</path-set>
</filter>
<filter kind="HIDE">
<view-set match="TRUE">
<view name="DESIGN_HIERARCHY"/>
<view name="OUTLINE"/>
<view name="PROBLEMS"/>
<view name="SEARCH"/>
<view name="TASKS"/>
<view name="TYPES"/>
<view name="TYPE_HIERARCHY_MEMBERS"/>
<view name="UVM_BROWSER_CLASSES"/>
<view name="UVM_BROWSER_MEMBERS"/>
</view-set>
<path-set match="TRUE" apply-to-macro-call-stack="TRUE">
<path include-children="TRUE" pattern="*/uvm.svh" />
<path include-children="TRUE" pattern="*/uvm_pkg.sv" />
<path include-children="TRUE" pattern="*/uvm_e_top.e" />
</path-set>
</filter>
<filter kind="HIDE">
<view-set match="TRUE">
<view name="DESIGN_HIERARCHY"/>
<view name="OUTLINE"/>
<view name="PROBLEMS"/>
<view name="SEARCH"/>
<view name="TASKS"/>
<view name="TYPES"/>
<view name="TYPE_HIERARCHY_MEMBERS"/>
© AMIQ
78
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
<view name="UVM_BROWSER_CLASSES"/>
<view name="UVM_BROWSER_MEMBERS"/>
</view-set>
<path-set match="TRUE" apply-to-macro-call-stack="TRUE">
<path include-children="TRUE" pattern="*/vmm.sv" />
</path-set>
</filter>
<filter name="OVM Predefined Diagram Filter" kind="HIDE">
<view-set match="TRUE">
<view name="DIAGRAM" />
</view-set>
<path-set match="TRUE" apply-to-macro-call-stack="TRUE">
<path include-children="TRUE" pattern="*/ovm.svh" />
<path include-children="TRUE" pattern="*/ovm_pkg.sv" />
<path include-children="TRUE" pattern="*/ovm_e_top.e" />
</path-set>
<element-type-set match="FALSE">
<element-type name="CLASS" language="E"/>
<element-type name="CLASS" language="SV"/>
</element-type-set>
</filter>
<filter name="UVM Predefined Diagram Filter" kind="HIDE">
<view-set match="TRUE">
<view name="DIAGRAM" />
</view-set>
<path-set match="TRUE" apply-to-macro-call-stack="TRUE">
<path include-children="TRUE" pattern="*/uvm.svh" />
<path include-children="TRUE" pattern="*/uvm_pkg.sv" />
<path include-children="TRUE" pattern="*/uvm_e_top.e" />
</path-set>
<element-type-set match="FALSE">
<element-type name="CLASS" language="E"/>
<element-type name="CLASS" language="SV"/>
</element-type-set>
</filter>
<filter name="VMM Predefined Diagram Filter" kind="HIDE">
<view-set match="TRUE">
<view name="DIAGRAM" />
</view-set>
<path-set match="TRUE" apply-to-macro-call-stack="TRUE">
<path include-children="TRUE" pattern="*/vmm.sv" />
</path-set>
<element-type-set match="FALSE">
<element-type name="CLASS" language="E"/>
<element-type name="CLASS" language="SV"/>
</element-type-set>
© AMIQ
79
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
</filter>
<filter name="UVM Predefined Macros View Filter" kind="HIDE">
<view-set match="TRUE">
<view name="MACRO" />
</view-set>
<path-set match="TRUE" apply-to-macro-call-stack="TRUE">
<path include-children="TRUE" pattern="*/uvm.svh" />
<path include-children="TRUE" pattern="*/uvm_pkg.sv" />
</path-set>
<element-text-set match="FALSE">
<element-text pattern="uvm_info" />
<element-text pattern="uvm_warning" />
<element-text pattern="uvm_error" />
<element-text pattern="uvm_fatal" />
<element-text pattern="uvm_info_context" />
<element-text pattern="uvm_warning_context" />
<element-text pattern="uvm_error_context" />
<element-text pattern="uvm_fatal_context" />
<element-text pattern="uvm_field_utils_begin" />
<element-text pattern="uvm_field_utils_end" />
<element-text pattern="uvm_object_utils" />
<element-text pattern="uvm_object_param_utils" />
<element-text pattern="uvm_object_utils_begin" />
<element-text pattern="uvm_object_param_utils_begin" />
<element-text pattern="uvm_object_utils_end" />
<element-text pattern="uvm_component_utils" />
<element-text pattern="uvm_component_param_utils" />
<element-text pattern="uvm_component_utils_begin" />
<element-text pattern="uvm_component_param_utils_begin" />
<element-text pattern="uvm_component_end" />
<element-text pattern="uvm_object_registry" />
<element-text pattern="uvm_component_registry" />
<element-text pattern="uvm_field_int" />
<element-text pattern="uvm_field_object" />
<element-text pattern="uvm_field_string" />
<element-text pattern="uvm_field_enum" />
<element-text pattern="uvm_field_real" />
<element-text pattern="uvm_field_event" />
<element-text pattern="uvm_field_sarray_int" />
<element-text pattern="uvm_field_sarray_object" />
<element-text pattern="uvm_field_sarray_string" />
<element-text pattern="uvm_field_sarray_enum" />
<element-text pattern="uvm_field_array_int" />
<element-text pattern="uvm_field_array_object" />
<element-text pattern="uvm_field_array_string" />
<element-text pattern="uvm_field_array_enum" />
<element-text pattern="uvm_field_queue_int" />
© AMIQ
80
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
<element-text pattern="uvm_field_queue_object" />
<element-text pattern="uvm_field_queue_string" />
<element-text pattern="uvm_field_queue_enum" />
<element-text pattern="uvm_field_aa_int_string" />
<element-text pattern="uvm_field_aa_object_string" />
<element-text pattern="uvm_field_aa_string_string" />
<element-text pattern="uvm_field_aa_object_int" />
<element-text pattern="uvm_field_aa_int_int" />
<element-text pattern="uvm_field_aa_int_int_unsigned" />
<element-text pattern="uvm_field_aa_int_integer" />
<element-text pattern="uvm_field_aa_int_integer_unsigned" />
<element-text pattern="uvm_field_aa_int_byte" />
<element-text pattern="uvm_field_aa_int_byte_unsigned" />
<element-text pattern="uvm_field_aa_int_shortint" />
<element-text pattern="uvm_field_aa_int_shortint_unsigned" />
<element-text pattern="uvm_field_aa_int_longint" />
<element-text pattern="uvm_field_aa_int_longint_unsigned" />
<element-text pattern="uvm_field_aa_int_key" />
<element-text pattern="uvm_field_aa_int_enumkey" />
<element-text pattern="uvm_record_attribute" />
<element-text pattern="uvm_record_field" />
<element-text pattern="uvm_pack_intN" />
<element-text pattern="uvm_pack_enumN" />
<element-text pattern="uvm_pack_sarrayN" />
<element-text pattern="uvm_pack_arrayN" />
<element-text pattern="uvm_pack_queueN" />
<element-text pattern="uvm_pack_int" />
<element-text pattern="uvm_pack_enum" />
<element-text pattern="uvm_pack_string" />
<element-text pattern="uvm_pack_real" />
<element-text pattern="uvm_pack_sarray" />
<element-text pattern="uvm_pack_array" />
<element-text pattern="uvm_pack_queue" />
<element-text pattern="uvm_unpack_intN" />
<element-text pattern="uvm_unpack_enumN" />
<element-text pattern="uvm_unpack_sarrayN" />
<element-text pattern="uvm_unpack_arrayN" />
<element-text pattern="uvm_unpack_queueN" />
<element-text pattern="uvm_unpack_int" />
<element-text pattern="uvm_unpack_enum" />
<element-text pattern="uvm_unpack_string" />
<element-text pattern="uvm_unpack_real" />
<element-text pattern="uvm_unpack_sarray" />
<element-text pattern="uvm_unpack_array" />
<element-text pattern="uvm_unpack_queue" />
<element-text pattern="uvm_create" />
<element-text pattern="uvm_do" />
<element-text pattern="uvm_do_pri" />
© AMIQ
81
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
<element-text pattern="uvm_do_with" />
<element-text pattern="uvm_do_pri_with" />
<element-text pattern="uvm_create_on" />
<element-text pattern="uvm_do_on" />
<element-text pattern="uvm_do_on_pri" />
<element-text pattern="uvm_do_on_with" />
<element-text pattern="uvm_do_on_pri_with" />
<element-text pattern="uvm_send" />
<element-text pattern="uvm_send_pri" />
<element-text pattern="uvm_rand_send" />
<element-text pattern="uvm_rand_send_pri" />
<element-text pattern="uvm_rand_send_with" />
<element-text pattern="uvm_rand_send_pri_with" />
<element-text pattern="uvm_declare_p_sequencer" />
<element-text pattern="uvm_register_cb" />
<element-text pattern="uvm_set_super_type" />
<element-text pattern="uvm_do_callbacks" />
<element-text pattern="uvm_do_obj_callbacks" />
<element-text pattern="uvm_do_callbacks_exit_on" />
<element-text pattern="uvm_do_obj_callbacks_exit_on" />
<element-text pattern="uvm_blocking_put_imp_decl" />
<element-text pattern="uvm_nonblocking_put_imp_decl" />
<element-text pattern="uvm_put_imp_decl" />
<element-text pattern="uvm_blocking_get_imp_decl" />
<element-text pattern="uvm_nonblocking_get_imp_decl" />
<element-text pattern="uvm_get_imp_decl" />
<element-text pattern="uvm_blocking_peek_imp_decl" />
<element-text pattern="uvm_nonblocking_peek_imp_decl" />
<element-text pattern="uvm_peek_imp_decl" />
<element-text pattern="uvm_blocking_get_peek_imp_decl" />
<element-text pattern="uvm_nonblocking_get_peek_imp_decl" />
<element-text pattern="uvm_get_peek_imp_decl" />
<element-text pattern="uvm_blocking_master_imp_decl" />
<element-text pattern="uvm_nonblocking_master_imp_decl" />
<element-text pattern="uvm_master_imp_decl" />
<element-text pattern="uvm_blocking_slave_imp_decl" />
<element-text pattern="uvm_nonblocking_slave_imp_decl" />
<element-text pattern="uvm_slave_imp_decl" />
<element-text pattern="uvm_blocking_transport_imp_decl" />
<element-text pattern="uvm_nonblocking_transport_imp_decl" />
<element-text pattern="uvm_transport_imp_decl" />
<element-text pattern="uvm_analysis_imp_decl" />
<element-text pattern="UVM_REG_ADDR_WIDTH" />
<element-text pattern="UVM_REG_DATA_WIDTH" />
<element-text pattern="UVM_REG_BYTENABLE_WIDTH" />
<element-text pattern="UVM_REG_CVR_WIDTH" />
<element-text pattern="UVM_DEFAULT_TIMEOUT" />
<element-text pattern="UVM_MAX_STREAMBITS" />
© AMIQ
82
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
<element-text pattern="UVM_PACKER_MAX_BYTES" />
<element-text pattern="UVM_TLM_B_MASK" />
<element-text pattern="UVM_TLM_B_TRANSPORT_IMP" />
<element-text pattern="UVM_TLM_FUNCTION_ERROR" />
<element-text pattern="UVM_TLM_NB_BW_MASK" />
<element-text pattern="UVM_TLM_NB_FW_MASK" />
<element-text pattern="UVM_TLM_NB_TRANSPORT_BW_IMP" />
<element-text pattern="UVM_TLM_NB_TRANSPORT_FW_IMP" />
<element-text pattern="UVM_TLM_TASK_ERROR" />
</element-text-set>
</filter>
<filter name="OVM Predefined Macros View Filter" kind="HIDE">
<view-set match="TRUE">
<view name="MACRO" />
</view-set>
<path-set match="TRUE" apply-to-macro-call-stack="TRUE">
<path include-children="TRUE" pattern="*/ovm.svh" />
<path include-children="TRUE" pattern="*/ovm_pkg.sv" />
</path-set>
<element-text-set match="FALSE">
<element-text pattern="ovm_phase_func_decl" />
<element-text pattern="ovm_phase_task_decl" />
<element-text pattern="ovm_phase_func_topdown_decl" />
<element-text pattern="ovm_phase_func_bottomup_decl" />
<element-text pattern="ovm_phase_task_topdown_decl" />
<element-text pattern="ovm_phase_task_bottomup_decl" />
<element-text pattern="ovm_info" />
<element-text pattern="ovm_warning" />
<element-text pattern="ovm_error" />
<element-text pattern="ovm_fatal" />
<element-text pattern="ovm_field_utils_begin" />
<element-text pattern="ovm_field_utils_end" />
<element-text pattern="ovm_object_utils" />
<element-text pattern="ovm_object_param_utils" />
<element-text pattern="ovm_object_utils_begin" />
<element-text pattern="ovm_object_param_utils_begin" />
<element-text pattern="ovm_object_utils_end" />
<element-text pattern="ovm_component_utils" />
<element-text pattern="ovm_component_param_utils" />
<element-text pattern="ovm_component_utils_begin" />
<element-text pattern="ovm_component_param_utils_begin" />
<element-text pattern="ovm_component_end" />
<element-text pattern="ovm_field_int" />
<element-text pattern="ovm_field_object" />
<element-text pattern="ovm_field_string" />
<element-text pattern="ovm_field_enum" />
<element-text pattern="ovm_field_real" />
© AMIQ
83
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
<element-text pattern="ovm_field_event" />
<element-text pattern="ovm_field_sarray_int" />
<element-text pattern="ovm_field_sarray_object" />
<element-text pattern="ovm_field_sarray_string" />
<element-text pattern="ovm_field_sarray_enum" />
<element-text pattern="ovm_field_array_int" />
<element-text pattern="ovm_field_array_object" />
<element-text pattern="ovm_field_array_string" />
<element-text pattern="ovm_field_array_enum" />
<element-text pattern="ovm_field_queue_int" />
<element-text pattern="ovm_field_queue_object" />
<element-text pattern="ovm_field_queue_string" />
<element-text pattern="ovm_field_queue_enum" />
<element-text pattern="ovm_field_aa_int_string" />
<element-text pattern="ovm_field_aa_object_string" />
<element-text pattern="ovm_field_aa_string_string" />
<element-text pattern="ovm_field_aa_object_int" />
<element-text pattern="ovm_field_aa_int_int" />
<element-text pattern="ovm_field_aa_int_int_unsigned" />
<element-text pattern="ovm_field_aa_int_integer" />
<element-text pattern="ovm_field_aa_int_integer_unsigned" />
<element-text pattern="ovm_field_aa_int_byte" />
<element-text pattern="ovm_field_aa_int_byte_unsigned" />
<element-text pattern="ovm_field_aa_int_shortint" />
<element-text pattern="ovm_field_aa_int_shortint_unsigned" />
<element-text pattern="ovm_field_aa_int_longint" />
<element-text pattern="ovm_field_aa_int_longint_unsigned" />
<element-text pattern="ovm_field_aa_int_key" />
<element-text pattern="ovm_field_aa_int_enumkey" />
<element-text pattern="ovm_declare_p_sequencer" />
<element-text pattern="ovm_sequence_utils_begin" />
<element-text pattern="ovm_sequence_utils_end" />
<element-text pattern="ovm_sequence_utils" />
<element-text pattern="ovm_update_sequence_lib" />
<element-text pattern="ovm_update_sequence_lib_and_item" />
<element-text pattern="ovm_sequencer_utils" />
<element-text pattern="ovm_sequencer_utils_begin" />
<element-text pattern="ovm_sequencer_param_utils" />
<element-text pattern="ovm_sequencer_param_utils_begin" />
<element-text pattern="ovm_sequencer_utils_end" />
<element-text pattern="ovm_create" />
<element-text pattern="ovm_do" />
<element-text pattern="ovm_do_pri" />
<element-text pattern="ovm_do_with" />
<element-text pattern="ovm_do_pri_with" />
<element-text pattern="ovm_send" />
<element-text pattern="ovm_send_pri" />
<element-text pattern="ovm_rand_send" />
© AMIQ
84
Rev. 3.5.35
DVT VHDL IDE
Chapter 7. Content Filters
www.dvteclipse.com
<element-text pattern="ovm_rand_send_pri" />
<element-text pattern="ovm_rand_send_with" />
<element-text pattern="ovm_rand_send_pri_with" />
<element-text pattern="ovm_create_on" />
<element-text pattern="ovm_do_on" />
<element-text pattern="ovm_do_on_pri" />
<element-text pattern="ovm_do_on_with" />
<element-text pattern="ovm_do_on_pri_with" />
<element-text pattern="ovm_blocking_put_imp_decl" />
<element-text pattern="ovm_nonblocking_put_imp_decl" />
<element-text pattern="ovm_put_imp_decl" />
<element-text pattern="ovm_blocking_get_imp_decl" />
<element-text pattern="ovm_nonblocking_get_imp_decl" />
<element-text pattern="ovm_get_imp_decl" />
<element-text pattern="ovm_blocking_peek_imp_decl" />
<element-text pattern="ovm_nonblocking_peek_imp_decl" />
<element-text pattern="ovm_peek_imp_decl" />
<element-text pattern="ovm_blocking_get_peek_imp_decl" />
<element-text pattern="ovm_nonblocking_get_peek_imp_decl" />
<element-text pattern="ovm_get_peek_imp_decl" />
<element-text pattern="ovm_blocking_master_imp_decl" />
<element-text pattern="ovm_nonblocking_master_imp_decl" />
<element-text pattern="ovm_master_imp_decl" />
<element-text pattern="ovm_blocking_slave_imp_decl" />
<element-text pattern="ovm_nonblocking_slave_imp_decl" />
<element-text pattern="ovm_slave_imp_decl" />
<element-text pattern="ovm_blocking_transport_imp_decl" />
<element-text pattern="ovm_nonblocking_transport_imp_decl" />
<element-text pattern="ovm_transport_imp_decl" />
<element-text pattern="ovm_analysis_imp_decl" />
<element-text pattern="ovm_do_callbacks" />
<element-text pattern="ovm_do_obj_callbacks" />
<element-text pattern="ovm_do_callbacks_exit_on" />
<element-text pattern="ovm_do_obj_callbacks_exit_on" />
<element-text pattern="ovm_do_task_callbacks" />
<element-text pattern="ovm_do_ext_task_callbacks" />
</element-text-set>
</filter>
© AMIQ
85
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 8. Code Templates
8.1 Code Templates in Autocomplete
Type the first letters from the code template name, then press Ctrl+Space twice to see code
template proposals.
Proposals are suggested using Global Code Templates and Project Level Code Templates.
SystemVerilog:
e Language:
VHDL:
© AMIQ
86
Rev. 3.5.35
DVT VHDL IDE
Chapter 8. Code Templates
www.dvteclipse.com
8.2 Global Code Templates
To see the list of global code templates go to menu Window > Preferences then select the
DVT > Code Templates preference page.
Click the New button to define a new template.
NOTE: The template name is important for autocomplete proposal filtering based on already
typed text! See more details here.
8.3 Project Level Code Templates
Project level code templates are available in autocomplete only for the respective project. You
cannot use them in other projects - as opposed to Global Code Templates.
© AMIQ
87
Rev. 3.5.35
DVT VHDL IDE
Chapter 8. Code Templates
www.dvteclipse.com
To see the list of project level code templates Right-click on a project in Navigator >
Properties > DVT > Code Templates.
Click the New button to define a new template.
NOTE: The template name is important for autocomplete proposal filtering based on already
typed text! See more details here.
After selecting a template, press Enter and it is automatically inserted at the current position
in the active editor.
8.4 Code Templates View
The Code Templates is located near the Navigator and Hierarchy views or you can open it
from Window > Show View > Other... > DVT > Code Templates.
To insert a template in a code editor, you can either:
© AMIQ
88
Rev. 3.5.35
DVT VHDL IDE
Chapter 8. Code Templates
www.dvteclipse.com
• drag and drop it in the editor at a specific location
• double click on it
• click on Insert into editor button
• right-click on it > Insert
Note: if you choose one of the last three actions mentioned above, the template will be inserted
in the current editor at the current cursor's positon. Please make sure you have an opened
editor and the cursor is at the right position before adding the template!'
1. Insert the selected template into the current editor
2. Create a new template
3. Edit the selected template
4. Remove the selected template ( NOTE: you cannot undo this operation!)
5. Refresh the view (if it doesn't automatically update when you modify templates/projects etc.)
6. Collapse/expand all
7. Filter templates (you can filter them by: nature, context, name, project, description)
8. Templates' natures
© AMIQ
89
Rev. 3.5.35
DVT VHDL IDE
Chapter 8. Code Templates
www.dvteclipse.com
9. A global template
10.A project template
11.Templates' contexts
12.Preview the template's pattern (it automatically updates when clicking on a template)
To create a new template, click on Create a New Template button on the toolbar:
1. Template's name
2. Check Automatically insert if you want the template to expand automatically on ctrl-space
when there is no other matching template available. It is usually good idea to leave the
checkbox checked, otherwise you would get a template proposal "popup"
3. Each template must be created under a project available in the current workspace (select [''
''global ] for a global template)
4. Assign a nature - only natures relevant to the selected project will be displayed
5. Template's context - only contexts relevant to the selected nature will be displayed
6. Templates's description
7. Code Pattern - embed variables in ${} e.g. ${ variable_name} to enable the template
proposal wizard when inserting the template into an editor
8. Insert variables - here you can find some useful misc. predefined variables
© AMIQ
90
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 9. File Templates
Whenever you create a new file using the New File Wizard, you can pick a file template.
A file template is a code template with the context set to File Content. For more details see
Code Templates.
© AMIQ
91
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 10. Project Templates
10.1 What is a project template?
A project template is a parameterized directory tree. Both in the file contents
(.v, .sv, .sh, .e, .vhd, .txt - practically any file) and in the file or directory names you can use
parameters.
Combined with TODO markers, you can use a project template as a customized wizard.
Parameters are IDs surrounded by double underscores (for example __pkg_prefix__) or by x_
and _x (for example x_pkg_prefix_x).
This convention allows you to edit the template like any other project using DVT in its full
power - autocomplete, hyperlinks etc. Parameters are highlighted distinctively:
NOTE: It is not mandatory (but elegant) to use DVT for template creation. It is very elegant
to apply the template using DVT.
.
When you generate code using the project template, parameters are replaced in all files
(including their names) with the values you specify:
© AMIQ
92
Rev. 3.5.35
DVT VHDL IDE
Chapter 10. Project Templates
www.dvteclipse.com
.
How to generate code from a project template
template.config
10.2 How to generate code from a
project template
To generate code from a project template use DVT Project From Template Wizard from
menu File > New > DVT Project From Template then follow the steps:
1. Specify Template Directory and Target Directory
2. Specify Parameters
10.2.1 Step 1. Specify Directories
Specify the template directory ( You can also choose from Predefined Projects) and the
destination directory where the code will be generated.
© AMIQ
93
Rev. 3.5.35
DVT VHDL IDE
Chapter 10. Project Templates
www.dvteclipse.com
10.2.2 Step 2. Specify Parameters
DVT automatically recognizes the parameters by scanning the template directory recursively.
If default values are specified in the template.config file they are automatically filled in.
You can edit values as needed. You may restore to defaults as well.
If the template directory was developed using DVT and configured as a project (it
includes .project and .dvt files) you may chose to inherit its settings (default.build etc.).
© AMIQ
94
Rev. 3.5.35
DVT VHDL IDE
Chapter 10. Project Templates
www.dvteclipse.com
.
10.3 template.config
You may use the template.config file in the template directory to specify default values and
description for the parameters:
• name,value,description
pkg_prefix,ti_i2c,The verification component prefix
PKG_PREFIX,TI_I2C,For defines
Some parameters are predefined:
• __user__ for the user name (from the operating system)
• __date__ for the date (from the operating system)
10.4 Add from Template
With this feature you can generate code from a single template file (or a folder containing
templates) and add it to an existing project.
To access the Add from Template Wizard go to Navigator > right click on a Target folder
inside a project > New > Add from Template
© AMIQ
95
Rev. 3.5.35
DVT VHDL IDE
Chapter 10. Project Templates
www.dvteclipse.com
The next step is to browse for the templates source folder (by default, is the last path used),
then click Next.
From the Templates panel > select the files/folders you want to add to Target. In the Attributes
panel, you can modify the replacement variables by typing a new value or by selecting one
from the history. The Target panel is used for preview - it shows where the selected files will
be placed in the project and signals if the there is a duplicate file error (if the file you want to
add already exists in the target folder).
© AMIQ
96
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 10. Project Templates
97
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 11. Code Formatting
In order to format a selected region of code or an entire file, use the Format Source action.
Press Ctrl+Shift+F or use editor's right click menu Source > Format Source.
All code formatting preferences are available at menu Window > Preferences > DVT > VHDL
> Editor > Formatting.
11.1 Capitalization
• Keywords - This option controls the keywords capitalization
• All upper case
• All lower case
• Data Types - This option controls the data types capitalization
• All upper case
• All lower case
11.2 Whitespace
• Trim end of line whitespace - When enabled, end of line whitespace is deleted.
• Compact whitespace groups - When enabled, consecutive whitespace characters are
trimmed to a single space character. It does not affect indentation, that is the whitespace at
the beginning of a line is not affected by this option.
• Tabs and Spaces - Lines are indented using tabs or spaces depending on the preferences
configured in Window > Preferences > General > Editors > Text Editors:
• If the Insert spaces for tabs option is enabled, indentation will use space characters,
otherwise tabs will be used.
• The Displayed tab width option controls the size of a tab in spaces.
• Add whitespace before - Space separated list of tokens to add whitespace before.
• Add whitespace after - Space separated list of tokens to add whitespace after.
11.3 Indentation
• then - This option affects the then keyword placement:
• On a new line - then is moved on a new line
© AMIQ
98
Rev. 3.5.35
DVT VHDL IDE
Chapter 11. Code Formatting
www.dvteclipse.com
• On the same line - then is moved on the same line with it's construct
• Leave as is
• Parameters - This option affects port, generic, map, function and procedure elements:
• One per line - each placed on it's own line
• More per line - more are placed on the same line, as fit when line wrapping is enabled
• Leave as is
• Don't indent single line comments at first column - This option affects single line
comments that start at column zero. It is useful to disable the indentation for whole regions
of code that are block commented, for example by using Ctrl + /. When enabled, single line
comments that start at column zero are not indented.
• Indent multi-line comments - This option affects multi-line comments ( /* ... */). When
enabled, multi-line comments are indented.
• Don't increase the indent level on - By default all scope language constructs increase
indentation. This option allows you to control which language constructs should increase
indentation.
11.4 Vertical Alignment
When enabled, this option performs vertical alignment.
• Vertical Alignment Tokens
The lines of code inside the same scope are aligned by the specified comma separated list of
vertical alignment tokens.
if(a) begin
if(a) begin
x = 1;
x = 1; // aligned by '=' inside the if scope
xx = 1;
xx = 1;
end else begin end else begin
xxx = 1;
xxx = 1; // aligned by '=' inside the else scope, orthogonal to the if scope above
xxxx = 1;
xxxx = 1;
end
end
Vertical alignment is performed left to right, by the same token. For example assuming '=' and
':' as vertical align tokens:
var x : int = 1; // "first level :", "second level ="
var xx : int = 1;
a = 1; // not aligned to "second level =" above, as this is a "first level ="
aa = 1;
© AMIQ
99
Rev. 3.5.35
DVT VHDL IDE
Chapter 11. Code Formatting
www.dvteclipse.com
In order to use the comma character ',' as a vertical alignment token, the character must be
preceded by the escaping character '\'.
• Vertical align single line comments - When enabled, single line comments are aligned.
• Vertical align to open parenthesis - When enabled, vertical align to open parenthesis.
• Vertical align to open curly - When enabled, vertical align to open curly.
11.5 Line Wrapping
When enabled, this option splits the lines of code that exceed the specified number of characters.
• Line Width - A line is wrapped when it exceeds this value
• Wrap single line comments and move above when needed - When enabled, if a single line
comment exceeds the line width, it will be moved above and further wrapped, if needed. It
is moved above in order not to break the association between an entity and it's description.
DVT automatically considers any comment above or in-line with an entity as it's description
that appears in tooltips, auto-complete or generated documentation.
• Wrap multi line comments - When enabled, multi line comments are wrapped to fit the
line width.
11.6 External
When enabled, all other code formatting options are disabled and code formatting is performed
using the given command.
© AMIQ
100
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 12. Component Automatic
Instantiation
12.1 Autoinstance Using
Autocomplete
You need to type the first letters of the component(entity, configuration, component) name,
then press Ctrl+Space three (3) times. You can recognize component instances by their icon,
it looks like a chip with ports ready to be glued in.
12.2 Autoinstance Using Drag and
Drop
Design elements can be auto instantiated by dragging them from the Types View into the editor.
© AMIQ
101
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 13. Semantic Search
You can search for a specific type, method etc. in the current project or whole workspace. Press
Ctrl+H to pop-up the search dialog.
To search for the declaration of a specific type, method, field etc. :
• Press Ctrl+H to open the Search Dialog
• Click on the VHDL Search tab.
• Type the name in the Search String (if you select in the editor before pressing Ctrl+H, the
Search String is automatically set to the selection).
• Select type or field etc. and Declarations
• Click Search.
To search for a whole word in all VHDL files, in comments or not:
• Press Ctrl+H to open the Search Dialog
• Click on the VHDL Search tab.
• Type the name in the Search String (if you select in the editor before pressing Ctrl+H, the
Search String is automatically set to the selection).
• Select Whole Word and Do not search in comments or All occurrences
• Click Search.
© AMIQ
102
Rev. 3.5.35
DVT VHDL IDE
Chapter 13. Semantic Search
www.dvteclipse.com
The search results are presented in the Search View.
The Search View is automatically raised at any invocation. You can also go to menu Window
> Show View > Other... > General > Search to open the Search View.
• Use up and down arrows to move from one match to another.
• Use search history to switch between various search results.
• Use search again to refresh search results.
© AMIQ
103
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 14. Search for References
(Usages)
To search where a procedure, signal, architecture or any other entity is used, right click on it's
name > References > Project. The results are presented in the Search View.
You can also search for references from the Search Dialog (Ctrl+H) .
© AMIQ
104
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 15. Quick Search in Views
Most DVT views have a Quick Search bar:
The Quick Search bar allows you to easily locate a specific element by typing a few letters
from its name.
Besides simple Regex ('?' for any character and '*' for any character sequence), more advanced
patterns are supported, for example CamelCase or hierarchical patterns like top//fifo/c.pi_data.
15.1 CamelCase
No filter.
Filter: fsc
All elements that contain the character
sequence fsc.
Filter: f_s_c
All elements that contain consecutive words
starting with f, s, c. Words are character
sequences delimited by underscores or by
capital letters.
© AMIQ
105
Rev. 3.5.35
DVT VHDL IDE
Chapter 15. Quick
Search in Views
www.dvteclipse.com
Filter: FSC
All elements that contain words starting with
or containing characters in this order f, s, c.
15.2 Simple Regex
No filter.
Regex Filter: rs*
All elements that contain the text rs.
Regex Filter: f?c
All elements that
f<any_character>c.
contain
the
text
15.3 Hierarchical Search
You can use single slash ('/') characters to search for strict (direct) hierarchies and double slash
('//') to search for non-strict (indirect) hierarchies.
You can choose to see all or just the direct descendants of the matched elements.
For each hierarchical segment you can use either CamelCase or Simple Regex.
© AMIQ
106
Rev. 3.5.35
DVT VHDL IDE
Chapter 15. Quick
Search in Views
www.dvteclipse.com
No filter.
Filter: first/second
''Search for strict hierarchy.'' All elements
that contain the search pattern and are in a
direct hierarchical relationship (father/son) are
shown.
Filter: second/s_f/fi*
''Search for strict hierarchy'' + CamelCase and
simple Regex
Filter: second//fsc
''Search for non-strict hierarchy.'' All elements
that contain the search pattern and are in
a direct or indirect hierarchical relationship
(ancestor/../../descendant) are shown.
Filter: s_p/
''Search for strict hierarchy and show direct
descendants.'' Same results as for search strict
hierarchy, but including the sons of the
matched elements.
Filter: s_p//
''Search for strict hierarchy and show all
descendants.'' Same results as for search strict
hierarchy, but including all descendants of the
matched elements.
© AMIQ
107
Rev. 3.5.35
DVT VHDL IDE
Chapter 15. Quick
Search in Views
www.dvteclipse.com
15.4 Search for Members
In addition to Hierarchical Search, you can use a member pattern after the dot '.' character to
search for types or instances that contain specific members (for example methods, ports, events,
etc). The members that match the member pattern are promoted to the top of the members pane.
Search for port example
No filter.
Filter: .sleep
Search by port name. All instances with ports
that contain the search pattern are shown.
Filter: sec/.sleep
Search by hierarchy and port name.
Hierarchical searching and port searching can
be combined.
Search for method example
© AMIQ
108
Rev. 3.5.35
DVT VHDL IDE
Chapter 15. Quick
Search in Views
www.dvteclipse.com
No filter.
Filter: .collect
Search by member name. All types with
members that contain the search pattern are
shown.
© AMIQ
109
Rev. 3.5.35
DVT VHDL IDE
Chapter 15. Quick
Search in Views
www.dvteclipse.com
Filter: gpio/.collect
Search by hierarchy and member name.
Hierarchical searching and member searching
can be combined.
15.5 Search Port in Design Hierarchy
You can search for a specific port in the design hierarchy by using the Design Hierarchy View.
Press the Select Top button and pick one of the available design tops.
Make the ports panel visible by pressing the Show/Hide Ports button.
In the instances filter text box, type the name of the port you are looking for, preceded by the
dot '.' character. The instances that contain the port are bolded. The ports are also bolded and
promoted to the top of the ports pane.
© AMIQ
110
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 15. Quick
Search in Views
111
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 16. Trace Port Connections
16.1 Trace Connections from Design
Hierarchy
Start by inspecting the module hierarchy in the Design Hierarchy View. All traces are going
to be computed on this design hierarchy.
You can trace across the whole design (when you pick a top module as the hierarchy root) or
focus on a specific module in the design (when you pick that module as the hierarchy root).
The Design Hierarchy View documentation provides more details on how to populate this view.
Select an instance and click on the Show/Hide Ports button in the toolbar.
Then right click on a port and select one of the trace kinds, for example Trace Drive and Load.
The Trace Connections View opens.
16.2 Trace Connections from Editor
You can trace connections directly from the DVT editor.
All four trace kinds ( Trace Drive, Trace Load, Trace Drive and Load, Trace in
Subinstances) are available.
Start by placing the editor cursor over a port or signal and selecting Trace > trace kind from
the right-click context menu.
© AMIQ
112
Rev. 3.5.35
DVT VHDL IDE
Chapter 16. Trace
Port Connections
www.dvteclipse.com
IMPLEMENTATION NOTE: Tracing Connections from Editor works within the current
design hierarchy, found in the Design Hierarchy View. The Design Hierarchy View
documentation provides more details on how to populate this view.
If the traced port or signal belongs to multiple module instances, you must select the desired one.
The Trace Connections View opens.
© AMIQ
113
Rev. 3.5.35
DVT VHDL IDE
Chapter 16. Trace
Port Connections
www.dvteclipse.com
16.3 Trace Connections View
The Trace Connections View presents a hierarchy similar with the Design Hierarchy View:
• The connected instances are displayed, the rest are filtered out.
• You can use Trace All in Full Hierarchy or the Show Root options to show the entire
design. The connected instances are colored, the rest are grayed-out.
• Port icons indicate the direction of the signal.
• Sources and destinations are marked with red/green decorations.
• You can search for a specific connected instance or port/signal with Quick Search.
© AMIQ
114
Rev. 3.5.35
DVT VHDL IDE
Chapter 16. Trace
Port Connections
www.dvteclipse.com
The toolbar buttons allow you to change the trace kind (drive, load, drive and load or
subinstances):
• Trace Drive shows the connected instances across the drive paths (who drives this port?).
• Trace Load shows the connected instances across the load paths (who does this port drive?).
• Trace Drive and Load shows the connected instances across the drive and load paths (how
is this signal connected in the design)?
• Trace in Subinstances shows the connected instances under the traced module instance
(how is this signal connected below?).
• Trace All in Full Hierarchy is similar with Trace Drive and Load, but the full hierarchy
is presented, not only connected instances (how is this signal connected in the whole design
context?).
Other buttons:
• Show/Hide Ports Shows or hides the connections (ports or signals) of the currently selected
instance.
•
Show Root shows the path to the hierarchy root, even if the signal doesn't reach it. It
provides the enclosing context for deep traces, for example when tracing a signal many levels
below the top module. This option is enabled by default.
© AMIQ
115
Rev. 3.5.35
DVT VHDL IDE
Chapter 16. Trace
Port Connections
www.dvteclipse.com
At any time you can see the traced port (the port you are currently tracing). It is indicated in
the info label. The two connected instances that are bold colored in the tree represent :
• The instance with the traced port.
• The instance with the port or signal shown in the trace path. More details here.
Double-click on an element to go to code.
• For a connected instance, go to its declaration.
• For a port, go to where it is connected in the trace path.
• For a signal, go to where it is declared.
When the connections panel is hidden, right-click on an instance in the tree to show the context
menu.
© AMIQ
116
Rev. 3.5.35
DVT VHDL IDE
Chapter 16. Trace
Port Connections
www.dvteclipse.com
When visible, right-clicking on a port or signal to show the context menu.
The options in the context menu are :
• Trace > trace kind Trace ports found on the drive or load paths of the current traced port.
• Go to... Go to the port instantiations or signal declarations of the selected instance. The same
as double-clicking on a particular port or signal in the connections panel.
• Why Show the trace path from the traced port to the selected port or signal. More details
here.
16.4 Trace Path
Why signal foo drives/loads signal moo? The Why option in the context menu allows you to
see the trace path from any port/signal of a connected instance to the original traced port.
© AMIQ
117
Rev. 3.5.35
DVT VHDL IDE
Chapter 16. Trace
Port Connections
www.dvteclipse.com
A list is displayed containing the step by step path starting with the connected port/signal and
ending with the traced port. The list contains port instantiations, signal definitions and the
assign statements through which the traced signal propagates.
At any time you can see what kind of path the port or signal is on (drive path or load path).
Also you can change the order the list is displayed, so that it suits your take on the trace kind
(from source to destination or reverse) using the button.
Double-click on an element to go to code :
• For a port, go to where it is instantiated in the trace path.
• For a signal, go to where it is declared.
• For an assign statement, go to where it is used.
© AMIQ
118
Rev. 3.5.35
DVT VHDL IDE
Chapter 16. Trace
Port Connections
www.dvteclipse.com
Selecting an element in the list will color red both the corresponding connected instance in the
Trace Connections View hierarchy and the current port or signal in the connection panel. The
connected instances on the trace path are marked in the tree with an asterisk before their names.
© AMIQ
119
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 17. Code Factory
The Code factory allows you to easily generate instances, signals and testbenches starting with
modules or entities.
Factory Input
It is required that you first set an input. Right-click on the element definition and select from
the context menu the option Set Factory Input under Code Factory.
The current input persists until a new one is set or until a full build is invoked.
Creating code
Having set an input, you can do one of the following:
• Create Instance for instantiating the design element;
• Create Signals for listing the ports of the design element as signals;
• Create Testbench for defining a testbench that instantiates the design element with all the
required port connections already made;
The code will be inserted at the cursor's current position.
Any information or errors during Code Factory operations are shown in the status bar.
Notes
• At the moment you can set only SystemVerilog modules and VHDL entities as factory input.
• Cross language operations are not supported. You can't set a SystemVerilog module as input
and use it in VHDL for creating output and vice-versa.
© AMIQ
120
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 18. Refactoring
18.1 Rename Refactoring
To rename an entity (type, method etc.) in the source code along with all its references, place
the cursor on the desired element, then right click and select Refactor > Rename (or use the
shortcut combination <Shift + Alt + R>).
You will be prompted for the new name of the entity:
Click OK to perform the refactoring, or Preview to see the changes that are about to be
performed in the source code. In the Preview page you can select what changes should be
performed. After you click Finish the changes are performed, and the project is rebuilt.
1. Select a file/change to see the source differences produced by the refacotring.
© AMIQ
121
Rev. 3.5.35
DVT VHDL IDE
Chapter 18. Refactoring
www.dvteclipse.com
2. Uncheck a file/change to prevent those changes from being applied.
18.2 Connect Instances Across the
Design Hierarchy
18.2.1 Connect Instances Using New Ports
In order to connect two entity instances using new ports, you must specify the output instance
(the signal source) and the input instance (the signal destination). New ports will be created
across the design hierarchy as needed, in order to propagate the signal.
1. Press the Select Top button and pick one of the available design tops. More details here on
how to populate the Design Hierarchy View.
2. Press the Show Connect Toolbar button to bring up the Connect Instances Toolbar .
3. Right click on an instance and select Connect Output from the context menu.
The output instance is presented in the connect toolbar Output textbox:
4. Select another instance, right click and Connect Input.
© AMIQ
122
Rev. 3.5.35
DVT VHDL IDE
Chapter 18. Refactoring
www.dvteclipse.com
The input instance is presented in the connect toolbar Input textbox along the previous set
output instance:
5. You can Preview Structural Changes in the Design Hierarchy .
6. Press the Connect button. The Refactor Connect dialog pops-up. Here you can tune the
port and signal names, as well as other refactoring parameters.
7. Press the Preview button to preview the source code changes:
© AMIQ
123
Rev. 3.5.35
DVT VHDL IDE
Chapter 18. Refactoring
www.dvteclipse.com
8. Press the OK button in order to perform the changes.
Note 1: If something is wrong (ex: port name already exists) the Refactor Connect operation
will give you the cause of the problem and pause. You can go back and make the necessary
changes.
© AMIQ
124
Rev. 3.5.35
DVT VHDL IDE
Chapter 18. Refactoring
www.dvteclipse.com
Note 2: You can undo the whole refactoring operation using Undo ( Ctrl+Z).
18.2.2 Preview Structural Changes in the
Design Hierarchy
Any change to a module or entity definition, like new ports or new signals being added,
affects all its instances. Before proceeding to source code changes, you can preview the design
structural changes.
Terminology:
• output instance is the module instance where the connection starts. It outputs the signal that
will be connected. output module is the module being instantiated as an output instance.
• input instance is the module instance where the connection ends. It inputs the signal that
will be connected. input module is the module being instantiated as an input instance.
• closest parent instance is the parent instance through which a signal is routed to connect the
ports leading from the output instance to the input instance across the design hierarchy.
No ports will be added to the closest parent instance. The closest parent module is the
module corresponding to the closest parent instance.
• relevant modules are the modules that will change by adding new ports and/or new signals.
relevant instances are instances of relevant modules.
© AMIQ
125
Rev. 3.5.35
DVT VHDL IDE
Chapter 18. Refactoring
www.dvteclipse.com
Ports are added only to modules that are instantiated on the paths leading from the output
module instance and the input module instance to the closest parent instance. Ports are
added to the output module or the input module only if the connection is not using an existing
port.
All the instances that will not change are grayed out. All relevant instances are highlighted. If
you hide the irrelevant instances, only the grayed out instances enclosing relevant instances
are kept in the tree.
The following filters in the Connect Instances Toolbar help you understand the structural
changes:
• Show Design Hierarchy to see the unfiltered design hierarchy.
• Minimal Path highlights just the affected path from the output instance to the input
instance. It includes the closest parent instance through which the signal is routed. It
presents the connection between the instances you've selected without considering the side
effects caused by other instances.
• Direct Changes highlights all the "similar" instances that are connected. It practically
presents all the instances of the closest parent module.
• Indirect Changes highlights all the changes in the design that are not Direct Changes. For
example an output module could be instantiated outside the closest parent module design
hierarchy, in "isolation" from the input module. As such these may be unexpected changes
that lead to dangling ports.
• All Changes highlights all the changes in the design. Here you see all the relevant instances.
It is the union of Direct Changes and Indirect Changes.
Note 1: Changes are computed on all tops.
Example
We connect blue1: Blue ( output instance) to d1 : D ( input instance). b1 : B is the closest
parent instance and B is the closest parent module. The relevant instances are highlighted.
The structural changes of the filters above are:
Show
Design Minimal Path
Hierarchy
© AMIQ
Direct Changes Indirect
Changes
126
All Changes
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 18. Refactoring
127
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
Chapter 18. Refactoring
www.dvteclipse.com
18.2.3 Connect Instances Toolbar
1. You press the Show Connect Toolbar button to bring up the connect toolbar.
2. In the design hierarchy you can select the instances that you want to connect.
3. You can Swap the ports direction.
4. The output instance path. The port segment is presented only if you use an existing port.
5. The input instance path. The port segment is presented only if you use an existing port.
6. Filter that controls the structural changes preview mode (see Preview Structural Changes
in the Design Hierarchy).
7. Filter to hide unaffected instances.
© AMIQ
128
Rev. 3.5.35
DVT VHDL IDE
Chapter 18. Refactoring
www.dvteclipse.com
8. Press Connect to start the refactoring operation.
9. Press Close to hide the Connect Toolbar.
© AMIQ
129
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 19. Diagrams
Diagrams help you inspect or document the architecture of a verification environment (e
language, SystemVerilog) or the structure of a design element (Verilog, VHDL). They are
rendered inside the diagram editor, using the dot engine. You must have dot installed for
diagrams to work (see http://www.graphviz.org). For convenience every DVT distribution
includes dot. The dot executable can be specified using menu Window > Preferences > DVT
> Diagrams.
19.1 Module Diagrams
Module Diagrams help you inspect and document the structure of a design element.
A module diagram presents the design's direct subinstances, the connections between them, as
well as the connections to design's ports.
You must have dot installed (diagrams are rendered using the dot engine - see http://
www.graphviz.org and Common dot related issues).
A DVT distribution includes dot.
You can specify the dot executable from menu Window > Preferences > DVT > Diagrams.
© AMIQ
130
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 19. Diagrams
131
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
Chapter 19. Diagrams
www.dvteclipse.com
Create a new module diagram in any of the following ways:
• right-click on a project or open the File menu and choose New > HDL Module Diagram
• use the New Diagram toolbar button and select New HDL Module Diagram from the menu
• Right click in the Types View or the Design Hierarchy View and select Show Diagram
• Place the cursor over a Type or Instance name in the editor, right click and select Show >
Diagram
The size of instance blocks is proportional to their number of ports.
Click on a diagram node to go to the element's definition in the source code.
Instances containing subinstances have a thick border. To view their diagram right click and
select Show Module Diagram or press Ctrl and click.
© AMIQ
132
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 19. Diagrams
133
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
Chapter 19. Diagrams
www.dvteclipse.com
19.1.1 Module Diagrams - Select Entities
In case you want to change the design, click the Select Module button to pick a design.
Select Module opens automatically when you create a new diagram, unless you started from
a selection.
You can chose only from designs with subinstances.
You can filter the list using the text field.
© AMIQ
134
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 19. Diagrams
135
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
Chapter 19. Diagrams
www.dvteclipse.com
19.1.2 Module Diagrams - Preferences
Use the Preferences button to customize the diagram contents and layout.
© AMIQ
136
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 19. Diagrams
137
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
Chapter 19. Diagrams
www.dvteclipse.com
By default Show connected Ports is selected.
If some ports clutter the diagram, you can exclude them by selecting Hide ports if name
contains.
Tip: if you generate a diagram and see less ports than expected, check its description at the
bottom for the list of port names you have excluded.
Uncheck Display port names to hide Port names from the diagram and show them as a tooltip.
Choose Hide all ports to show only subinstances in the diagram.
© AMIQ
138
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 19. Diagrams
139
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
Chapter 19. Diagrams
www.dvteclipse.com
Show multiple nodes per port is an alternative way of viewing ports of the enclosing design:
if a port is connected to several instances, a node is created for it next to each instance.
This may help reduce clutter. The following images illustrate how this option changes the
diagram:
Table 19.1.
Without Multiple Nodes Per Port
With Multiple Nodes Per Port
Collapse bidirectional edges uses a single edge with arrows at both ends to represent signals
flowing in both directions between two nodes.
Note: the diagram might not be displayed correctly with this option if your version of the dot
program is older than 2.29.
The following images illustrate this option:
Table 19.2.
Without Collapse Bidirectional Edges
© AMIQ
With Collapse Bidirectional Edges
140
Rev. 3.5.35
DVT VHDL IDE
Chapter 19. Diagrams
www.dvteclipse.com
The Graph direction can also be customized, as illustrated by the screenshots in this section.
© AMIQ
141
Rev. 3.5.35
DVT VHDL IDE
Chapter 19. Diagrams
www.dvteclipse.com
The preference page DVT → Diagrams → Module Diagrams allows you to choose:
• highlighting of modules with subinstances
• colors for all elements of the diagram
The preview section automatically reflects your changes.
© AMIQ
142
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 19. Diagrams
143
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
Chapter 19. Diagrams
www.dvteclipse.com
19.1.3 Module Diagrams - Breadcrumb
Navigation
If you navigate to sub-instances using right click > Show Module Diagram or by pressing
Ctrl+Click, the breadcrumb buttons above the diagram allow you to quickly navigate through
the design hierarchy.
The small buttons with an arrow show possible subinstances of a design. You can select a
subinstance to display its diagram.
19.2 Diagram Toolbar
Select input elements - the selection dialog opens automatically when you
create a new diagram, unless you started from a selection.
Change preferences
Save - depending on the dot version, you may save a diagram in various
formats, for example JPEG, PNG or SVG.
Refresh
Refresh automatically - when on, the diagram is automatically refreshed, for
example when you change the input elements or preferences.
Zoom in
Zoom out
Zoo fit
Zoom reset
Show legend
Show help
19.3 Diagram Preferences
The preference page DVT > Diagrams has settings for Graphviz DOT that affect both Class
and Module Diagrams.
© AMIQ
144
Rev. 3.5.35
DVT VHDL IDE
Chapter 19. Diagrams
www.dvteclipse.com
Diagrams are generated using the Graphviz DOT program. The DVT Distribution includes
DOT so you can use diagrams without additional setup. If you prefer (or if you didn't install
DVT from Distribution) you can also specify the location of the DOT program on your system.
The Font you choose here is used by all diagrams in DVT. This preference can contain:
• A font name, like sans, mono or verdana
• The absolute path to a True Type Font file (.ttf), e.g. /usr/share/fonts/truetype/ubuntufont-family/Ubuntu-R.ttf
The DVT Distribution includes several font files, for convenience. You can preview & choose
one of them by clicking the button.
© AMIQ
145
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 20. Export HTML
Documentation
To generate the HTML Documentation click on Export HTML Documentation Wizard
button on the main toolbar .
The HTML documentation is similar with JavaDoc and it is generated using the comments
above type declarations, method declarations etc.
NOTE: It is recommended to perform a full build before exporting the HTML documentation.
20.1 Export HTML Documentation
Wizard
1. General Page
1. Specify the project for which HTML Doc will be generated
2. Documentation title
3. Overview description file - its content will be placed on the first page of the documentation
4. User defined HTML Page - a customized html page that can be embedded in the
navigation menu (for example you can add links to external documentation or resources: <a
© AMIQ
146
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
target="elementFrame" href=" http://www.dvteclipse.com">dvt</a> -> will open the
web page in the main frame)
5. The output directory - target directory where the documentation will be placed
6. Option to hide the "Generate by < user >" watermark
2. API Selection Preferences
Select/deselect what kind of API and what packages to include in documentation.
3. Filter Preferences
© AMIQ
147
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
1. A set of general filters
2. SystemVerilog specific filters
3. Names Filter - exclude types' names that match these filters
4. Paths filter - exclude files from documentation
© AMIQ
148
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
4.Styling Preferences
Comments beautify and formatting
5.Link To Existing Documentation
© AMIQ
149
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
Create links to the elements for which documentation is already generated in the directories
specified in the list above, instead of re-generating their HTML pages. You can also select if you
want to see references to external documentation's index.html files in the left navigation menu.
6.Diagrams Preferences
© AMIQ
150
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
Add/remove diagrams (based on project's natures). Depending on how big is your project,
generating diagrams could be a time consuming task.
20.2 Comments Formatting
There are two formatting styles supported: JavaDoc & NaturalDocs. You can use HTML
syntax in JavaDoc comments .
© AMIQ
151
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
20.2.1 JavaDoc
JavaDoc Support
The table below lists the JavaDoc tags that DVT recognizes. For more details see http://
en.wikipedia.org/wiki/Javadoc.
@param
Valid for: functions, tasks
Adds a parameter with the specified argument-name followed
by the specified description to the "Arguments" section
@return
© AMIQ
Valid for: functions
152
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
Adds a "Returns" section with the description text. This text
should describe the return type and permissible range of values
@see
Adds a "See Also" heading with a link or text entry that
points to reference. A doc comment may contain any number
of @see tags, all grouped under the same heading
@author
Adds an "Author" entry
@deprecated
Adds a comment indicating that this API should no longer be
used (even though it may continue to work)
@version
Adds a "Version" subheading with the specified version-text
@since
Adds a "Since" heading with the specified since-text
{@link LINK_ADDRESS Inserts an in-line link with visible text label that points
LINK_TEXT}
to the documentation for the specified package, class or
member name of a referenced class. This tag is valid in all doc
comments. For more details see below.
{@literal text}
Displays text without interpreting the text as HTML markup
or nested javadoc tags. This enables you to use regular angle
brackets (< and >) instead of the HTML entities (<and >) in doc
comments, such as in parameter types (<Object>), inequalities
(3 < 4), or arrows (<-)
JavaDoc Links
An in-line link in a comment can be created using this tag {@link LINK_ADDRESS
LINK_TEXT}.There are two types of links:
• Internal Links -> point to data inside Documentation. In this case LINK_ADDRESS
must respect the following notation: Package_Name::Class_Name.Method_Name for an
absolute path or
TYPE_NAME.INNER_TYPE_NAME or just TYPE_NAME for relative paths. In case of
a relative path a link will be created to the best match for that type with regard to its scope
inside the project.
NOTE: Using relative paths could generate broken links if there are different data types with
the same name inside the project!
• External Links -> point to external web pages or files. For webpages LinkAddress must
start with http:// and for files with file:// followed by the resource's address. For example:
{@link http://www.dvteclipse.com} or {@link file://external-res.pdf}
For both types of links LINK_TEXT is optional and it can be used to show a user defined text
instead of link's path.
JavaDoc Autocomplete and Comment Templates
To add JavaDoc like comments to code, in Code Editor type above the code declaration /**
and then press Enter. Depending on the code type (a class declaration, a function, a task etc.)
a comment will be added with the respective JavaDoc tags.
© AMIQ
153
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
These comments are added based on some predefined comment templates that can be
customized.
Go to Window > Preferences > DVT > SystemVerilog > Editor > Code Templates.You can
select a javadoc template and modify it by adding/removing supported tags (using this naming
convention: ${TagNameWithout@} ) or custom text.
You can also create new templates. A template will be applied only to a specified data
type, for example: javadoc_class will be applied to classes. If you want to add a template
for modules its name must respect the following rule: YourTemplateName_DataType (ex:
MyModuleTemplate_module) and must be placed in JavaDoc Comment Context.
See the result in the image below:
© AMIQ
154
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 20. Export
HTML Documentation
155
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
20.2.2 NaturalDocs
NaturalDocs Support
The table below lists the NaturalDocs syntax that DVT recognizes. For more details see http://
www.naturaldocs.org.
<LinkAddress>
Inserts an in-line link with visible text label that points
to the documentation for the specified package, class or
member name of a referenced class. This tag is valid in all doc
comments. For more details see below.
~Italic Text~
Use tilda (~) for Italic Text.
*Bold Text*
Use star (*) for Bold Text.
Headings
You can add headings to your output just by ending a line with
a colon and having a blank line above it.
Bullet Lists
You can add bullet lists by starting a line with a dash, an
asterisk, an o, or a plus. Bullets can have blank lines between
© AMIQ
156
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
them if you want, and subsequent lines don’t have to be
indented. You end a list by skipping a line and doing something
else.
Definition Lists
You can add a definition list by using the format below,
specifically “text space dash space text”. Like bullet lists, you
can have blank lines between them if you want, subsequent
lines don’t have to be indented, and you end the list by skipping
a line and doing something else.
Images
You can include images in your documentation by writing (see
filename). If you put it alone on a line it will be embedded in
place.
Code and Text Diagrams
, or :'''. If you have a vertical line or text box with the comment,
you must separate these symbols from it with a space.
NaturalDocs Links
An in-line link in a comment can be created using <LINK_ADDRESS LINK_TEXT>.There
are two types of links:
• Internal Links -> point to data inside Documentation. In this case LINK_ADDRESS
must respect the following notation: Package_Name::Class_Name.Method_Name for an
absolute path or TYPE_NAME.INNER_TYPE_NAME or just TYPE_NAME for relative
paths. In case of a relative path a link will be created to the best match for that type with
regard to its scope inside the project.
NOTE: Using relative paths could generate broken links if there are different data types with
the same name inside the project!
• External Links -> point to external web pages or files. For webpages LinkAddress must
start with http:// and for files with file:// followed by the resource's address. For example: <
http://www.dvteclipse.com> or <file://external-res.pdf>
For both types of links LINK_TEXT is optional and it can be used to show a user defined text
instead of link's path.
20.3 Customizing Documentation
Generated documentation using new HTML style can be customized using the files
<html_doc>/css/custom.css and <html_doc>/js/custom.js.
The new HTML style is based on Bootstrap [http://http://getbootstrap.com/] and jQuery [http://
jquery.com/] frameworks and customizations can be done using jQuery API and by changing
Bootstrap's default styles.
Custom CSS
The custom Cascading Style Sheet is included last and can overwrite any style defined above.
Example: changing the color of collapsible panels holding the element names.
© AMIQ
157
Rev. 3.5.35
DVT VHDL IDE
Chapter 20. Export
HTML Documentation
www.dvteclipse.com
.panel-default > .panel-heading {
background-color: Chocolate;
color: Cornsilk;
}
Custom JavaScript
The custom.js JavaScript file is included at the end of the HTML and it can completely change
the content of the page.
Example: adding a custom "CONFIDENTIAL" warning to TOC and every page header can
be done using jQuery.
$('body').prepend('<div class="alert alert-warning text-center" role="alert">CONFIDENTIAL</div>');
Customizing the TOC page and the content pages separately can be achieved by testing the
window name:
if (window.name === "content")
$('body').prepend('<div class="alert alert-warning text-center" role="alert">This is the content frame</div>
if (window.name === "toc")
$('body').prepend('<div class="alert alert-warning text-center" role="alert">This is the toc frame</div>');
A similar approach can be used to customize individual pages based on the file name:
if (window.location.pathname.split('/').pop() === "summary-overview.html")
$('body').prepend('<div class="alert alert-warning text-center" role="alert">This is the the summary page<
© AMIQ
158
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 21. External Tools Integration
21.1 Run Configurations
You can invoke (run) any executable from Eclipse and see its output in the Console View.
You just need to create a Run Configuration from menu Run > Run....
VhdlDT provides one type of configuration:
• DVT Generic
DVT Generic Run Configuration
1. Menu Run > Run Configurations....
2. Select DVT Generic configuration and click the New button.
3. Specify name, working directory, run as command or script and the content of the
command or script.
4. Click Run.
© AMIQ
159
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
Before writing the command you can specify how to run the content. Run as a:
• command (the content must be a single line command with arguments)
• script (the content must be a multiline script, preceded by a hash exclam, that will be written
to file system before execution)
If run as a command is selected the content should look like this:
sh -c "echo Test ${string_prompt:Parameter 1} ${string_prompt:Parameter 2}"
or if run as a script is selected a script with hash exclam must be specified:
#!/bin/sh
echo Test ${string_prompt:Parameter 1} ${string_prompt:Parameter 2}
for i in `seq 5 -1 0` ; do
echo Starting in $i seconds
sleep 1
done
echo Test started
Parameters can be specified using Eclipse variables or DVT Custom_Dialogs can be used for
more complex dialogs.
© AMIQ
160
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
As a result you will be asked to provide the "Parameter 1" e.g. "run" and "Parameter 2" e.g.
"script". The result of running the command will be:
"Test run script"
Note: The parameters ${VAR} are considered Eclipse variables that and will be resolved before
running the command. To use shell variables in the command you must use the $VAR syntax.
When running as a command, unresolved Eclipse variables will trigger an error and the run
will be aborted. not be reported. When running as a script the unresolved Eclipse variables
will remain untouched.
Quick Run
You can launch again at any time from menu Run > Run History... or directly from the toolbar
(simple click launches last):
Output
The invocation output is dumped to the Console View.
Click on hyperlinks in the Console View to jump directly to the to source location.
21.1.1 Run Configuration Session Type
Note: This feature is available only for Linux and MacOS
The options available under the command/script text box can be used to control the process
session that will be used to run the command or script. The following session types are available:
Same process session as DVT
• The process will be a direct child of DVT
© AMIQ
161
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
• The process must manage its subprocesses if termination signals are received, otherwise
orphaned processes may appear
• Job control is not available
• stdin, stdout, sdterr will be available in "Console View", tty will not be available
A new process session
• The process will be launched using a wrapper script that will create a new process session
• The process may manage its subprocesses if termination signals are received, but
"Terminate all spawned processes..." option can be used to kill all subprocesses when the
parent process ends or is terminated
• Job control is available
• stdin, stdout, sdterr will be available in "Console View", tty will not be available
An xterm process session (xterm must be available in the system)
• The process will be launched using xterm that will create a new process session
• The process may manage its subprocesses if termination signals are received, but
"Terminate all spawned processes..." option can be used to kill all subprocesses when the
parent process ends or is terminated
• Job control is available
• tty, stdin, stdout and sdterr will be available in xterm, the stdout, stderr can be redirected to
"Console View" using "Redirect xterm output..." option
• xterm window can remain on screen when the process ends or is terminated if "Hold xterm
window open..." option is selected
© AMIQ
162
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
21.1.2 Custom Shortcut and Button for a Run
Configuration
On the main toolbar click on Run > Run Configurations... > select a run configuration file
from DVT Generic and click on Shortcuts Tab. You can choose to add a shortcut on the
main toolbar and/or an accelerator (for example, ALT+SHIFT+1).
WARNING: It is not recommended to remove accelerators from Window > Preferences >
General > Keys
© AMIQ
163
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
If you want to remove a shortcut/accelerator you can uncheck the respective preference in the
Shortcuts Tab.
Toolbar shortcuts must have an icon. You can specify an external file or create one by selecting
the Create Icon option. Each icon can have a one letter label and a background color.
You can specify the position of a button on the toolbar by modifying the Toolbar Order Number
- buttons are placed on the toolbar from left to right, ordered from 0 to N (max 999). If there
are more buttons with the same number, they will be ordered alphabetically.
NOTE: You cannot create shortcuts/accelerators for read-only run configuration files.
21.1.3 Using environment variables in DVT
Generic Run Configurations
Environment variables can be set in the following ways:
• in the shell where DVT was launched
© AMIQ
164
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
• using +dvt_env+ directive in the project's build configuration file (.dvt/default.build) - see
Environment Variables
• from the Environment tab of the Run Configurations dialog (menu Run > Run
Configurations)
• directly within the command getting executed, for example: sh -c "env PROJECT_DIR=
${project_loc} iev -f ${project_loc}/iev/iev.f -c".
21.1.4 Using an alias in a DVT Generic Run
Configuration
Aliases only work in interactive shells. The command specified in the Run Configuration should
be:
<your_shell> -ic "<your_alias>"
for example
bash -ic "ll"
When you create a new DVT Generic Run Configuration, DVT tries to guess the shell that you
use from the $SHELL system variable and fills it in for you.
21.1.5 DVT Generic Run Configuration
Variables
The following variables are available when you configure a run configuration. These variables
are automatically expanded each time the run configuration is launched.
DVT variables
Name
Description
${selected_resources_loc}
Absolute file system path of the selected resources separated by system file
separator character. You can pass as argument a string to be used as separator.
${selected_resources_path}
Workspace relative path of the selected resources separated by system file
separator character. You can pass as argument a string to be used as separator.
${selected_resources_name}
The name of the selected resources separated by system file separator character.
You can pass as argument a string to be used as separator.
${dvt_current_build_file}
Absolute path to the current DVT build file
${dvt_cli}
© AMIQ
Expands to the full DVT CLI path, using as the workspace option the current
workspace: $DVT_HOME/bin/dvt_cli.sh -workspace ${workspace_loc}
165
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
Eclipse variables
Name
Description
${workspace_loc}
The absolute path on the system's hard drive to Eclipse's workspace directory
${workspace_loc:<resource
The absolute path on the system's hard drive to the specified resource. The
path>}
<resource path> is the full path of the resource relative to the workspace
root. For example ${workspace_loc:/MyProject/MyFile.txt}. Note that the
expanded result of this variable is not the same as ${workspace_loc}/
MyProject/MyFile.txt if the project's contents directory for MyProject is
outside the workspace directory.
${project_loc}The absolute path on the system's hard drive to the currently selected resource's
project or to the project being built if the external tool is run as part of a build.
${project_loc:<resource
The absolute path on the system's hard drive to the specified resource's
path>}
project. The <resource path> is the full path of the resource relative to the
workspace root. For example ${workspace_loc:/MyProject/MyFile.txt}. Note
that the expanded result of this variable is not the same as ${workspace_loc}/
MyProject if the project's contents directory for MyProject is outside the
workspace directory.
${container_loc}
The absolute path on the system's hard drive to the currently selected resource's
parent (either a folder or project).
${container_loc:<resource
The absolute path on the system's hard drive to the specified resource's parent
path>}
(either a folder or project). The <resource path> is the full path of the resource
relative to the workspace root. For example:${workspace_loc:/MyProject/
MyFolder/MyFile.txt}. Note that the expanded result of this variable is not
the same as ${workspace_loc}/MyProject/MyFolder if the project's contents
directory for MyProject is outside the workspace directory.
${resource_loc}
The absolute path on the system's hard drive to the currently selected resource.
${resource_loc:<resource
The absolute path on the system's hard drive to the specified resource. The
path>}
<resource path> is the full path of the resource relative to the workspace
root. For example ${workspace_loc:/MyProject/MyFile.txt}. Note that the
expanded result of this variable is not the same as ${workspace_loc}/
MyProject/MyFile.txt if the project's contents directory for MyProject is
outside the workspace directory.
${project_path}The full path, relative to the workspace root, of the currently selected resource's
project or of the project being built if the external tool is run as part of a build.
${container_path}
The full path, relative to the workspace root, of the currently selected resource's
parent (either a folder or project).
${resource_path}
The full path, relative to the workspace root, of the currently selected resource.
${project_name}
The name of the currently selected resource's project or of the project being
built if the external tool is run as part of a build.
${container_name}
The name of the currently selected resource's parent (either a folder or project).
${resource_name}
The name of the currently selected resource.
© AMIQ
166
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
21.2 Smart Log
For any invocation you can either use predefined filter sets for specific tools, or define your
own filters and style maps in order to view the simulation output like the one below.
For more details:
Smart Log - Filters
Smart Log - Hyperlinks
Smart Log - Styles
Run Configurations
21.2.1 Smart Log - Filters
To define a new filter for a DVT Generic run configuration go to the Filters Tab, click New...
and specify filter parameters.
© AMIQ
167
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
The main filter parameters are:
• Name - The name of the filter
• Severity - The severity of the filter.
• Pattern - The filter pattern. Use ${file} to indicate a file hyper-link, and ${line} to indicate
the line to jump to. Use (?<TAG_NAME>) to tag a group that will be used to randomly or
explicitly assign a style (green bold for example - see Smart Log - Styles).
© AMIQ
168
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
In the Filters Tab you can also set other parameters such as:
• The maximum number of characters per line ( 1 )
• The maximum number of consecutive lines ( 2 )
• Whether links should jump to resources from the current working set ( 5 )
You can browse through predefined filters to see more examples ( 3 ).
You can also add a filter pattern for your console title ( 4 ). This should contain capturing groups
whose contents will be appended to the console title. For example the pattern in the image
© AMIQ
169
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
above: "DVT_CONSOLE_TITLE\s+(\w+)" will append "[my_title]" to the console title when
it will match a text like "DVT_CONSOLE_TITLE my_title" in the console output.
Smart Log - Hyperlinks
Smart Log - Styles
Run Configurations
21.2.2 Smart Log - Hyperlinks
Using the predefined filters enables you access to hyperlinks for files and also for some error
codes of certain simulators. By clicking on a hyperlinked error code a dialog pops-up with the
explanation of that error provided by the simulator help tool.
DVT supports verror for Questa and nchelp for IUS. You can customize the name of these
tools by setting the following environment variables: DVT_VERROR_TOOL_NAME and
DVT_NCHELP_TOOL_NAME
You can further customize this feature by creating your own regular expression
for a custom hyperlink that launches a defined launch configuration. Use
${cmd:launch_configuration_name:regular_expression} to define these custom hyperlinks
in your filter pattern, where launch_configuration_name is the name of the launch
configuration that is going to be launched when clicking on the hyperlink and
regular_expression is the regular expression whose matched result will be hyperlinked.
For example when running a launch configuration that outputs the location of a log file like
this one:
in order to hyperlink the location of the file a pattern needs to be defined:
© AMIQ
170
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
To summarize the content of the log file and display just the number of errors, warnings and
infos in a new console:
the
"Summarize_log"
launch
configuration
is
defined
with
$DVT_CUSTOM_HYPERLINK_CAPTURING_GROUP_0 environment variable
© AMIQ
171
the
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
Smart Log - Filters
Smart Log - Styles
Run Configurations
© AMIQ
172
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
21.2.3 Smart Log - Styles
Assuming the filter MyTrace has a pattern Trace (?<AGENT_KIND> a-zA-Z_0-9+)
(?<INSTANCE> a-zA-Z_0-9+) .* that contains 2 groups tagged <AGENT_KIND>
and <INSTANCE>, DVT will randomly assign a color for each unique combination
(AGENT_KIND_match, INSTANCE_match).
You'll get different colors for:
• Master M1 (<AGENT_KIND> group matched "Master" and <INSTANCE> matched "M1")
• Master M2 (<AGENT_KIND> group matched "Master" and <INSTANCE> matched "M2")
• Slave S1 (<AGENT_KIND> group matched "Slave" and <INSTANCE> matched "S1")
• Slave S2 (<AGENT_KIND> group matched "Slave" and <INSTANCE> matched "S2")
Trace Master M1 sending packet...
Trace Master M2 waiting for grant...
Trace Slave S1 receiving packet...
Trace Master M1 abort...
Trace Slave S1 signal nack...
Trace Slave S2 go to idle...
You can manually assign colors by editing the .dvt/log_styles.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<section name="attributes">
<item key="version" value="1"/>
<list key="log_styles">
<item value="PATTERN_NAME=MyTrace, AGENT_KIND=Master, INSTANCE=M1,
COLOR=#FF8000, FONT_STYLE=BOLD, BORDER_STYLE=NONE"/>
<item value="PATTERN_NAME=MyTrace, AGENT_KIND=Master, INSTANCE=M2,
COLOR=#008000, FONT_STYLE=BOLD, BORDER_STYLE=NONE"/>
<item value="PATTERN_NAME=MyTrace, AGENT_KIND=Slave, INSTANCE=S1,
COLOR=#800080, FONT_STYLE=BOLD, BORDER_STYLE=NONE"/>
<item value="PATTERN_NAME=MyTrace, AGENT_KIND=Slave, INSTANCE=S2,
COLOR=#8080FF, FONT_STYLE=BOLD, BORDER_STYLE=NONE"/>
© AMIQ
173
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
</list>
</section>
For example the first line means "If pattern MyTrace matched and AGENT_KIND is 'Master'
and INSTANCE is 'M1' set color to ...".
You can use regular expressions, for example AGENT_KIND=M*.
You can specify the COLOR, the FONT_STYLE (BOLD or ITALIC), and the
BORDER_STYLE (DOT or SOLID or NONE).
Smart Log - Filters
Smart Log - Hyperlinks
Run Configurations
21.3 External Builders
An external builder allows you to invoke any script/tool and back-annotate its output (errors,
warnings etc.) to the source code. Practically it allows you to connect any 3d party tool
(compiler, linter etc.) to DVT error signaling engines.
You can configure one or more external builders on a project:
• The commands you define will be invoked on project clean, full build and incremental build.
• The patterns you define will be applied on the command output to recognize errors, warnings
etc.
• The pattern matches will be back-annotated to the source code and presented in a similar
way DVT signals errors (file, line, in the Errors View etc.)
DVT ships with some predefined example configurations to get you started.
For more details:
How to define a new external builder
How to invoke external builders
External Builder Output
Source Code Markers - errors warnings etc
© AMIQ
174
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
21.3.1 How to define a new external builder
Select the project in the Navigator View, right-click and chose Properties. Chose the DVT >
External Builders properties. Click the New button to define a new external builder. From the
list of external builders chose the generic External Builder or one of the pre-configured ones.
Main tab
In the Main tab you can:
© AMIQ
175
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
1. Specify the name of the builder. It will appear in the extracted messages, for example in
the Errors View.
2. Specify the Full Build command - invoked on project full build and re-build. It is any
regular shell command. You can use various variables (see pre-configured builders for
examples).
3. Specify the Auto Build command - invoked on incremental builds, for example on save. It
is any regular shell command. You can use various variables (see pre-configured builders
for examples).
4. Specify the Clean command - invoked on project clean and before re-build. It is any regular
shell command. You can use various variables (see pre-configured builders for examples).
5. Specify the working directory where the commands are invoked from. You can use various
variables, browse the file system etc. (see pre-configured builders for examples).
6. Use various variables to pass as arguments to commands, for example ${incdir} or
${project_loc}.
NOTE: If you wish to specify multiple commands or use wildcards or system variables, use
sh -c "". E.g: sh -c "echo $USER; rm -f *.log"
Filters tab
In the Filters tab you can:
1. Chose from one of the predefined filter categories.
2. Preview a filter.
3. Define a new filter, edit, remove or duplicate an existing one. Filters in predefined categories
cannot be edited or removed (allow future enhancements or fixes).
© AMIQ
176
Rev. 3.5.35
DVT VHDL IDE
Chapter 21. External
Tools Integration
www.dvteclipse.com
21.3.2 How to invoke external builders
External builders are automatically invoked after the DVT builder. For example when
requesting to build or rebuild the project, when saving etc. Obviously if the command is empty
for a specific phase (full, clean or auto), the builder is not invoked.
You can also explicitly invoke only the external builders from the dedicated button ..
The focus must be on some editor in the project or a resource from the project should be selected.
If you have multiple external builders defined for a project, you can invoke a specific one by
clicking on the respective entry in the menu:
NOTE: When invoking only one builder, a Clean Project operation that removes all errors
from all external builders is also triggered.
21.3.3 External Builder Output
An external builder dumps its output in the console upon invocation. Using the defined filters,
matches are identified and hyper-linked to source code.
21.3.4 Source Code Markers - errors
warnings
The matches found in the builder output using the filters are marked on the source code. They
are visible in the editors, Problems View etc.
You can right-click on a marker to jump to the Console output of the external builder to
investigate the error/warning.
© AMIQ
177
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 21. External
Tools Integration
178
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 22. Custom Dialogs
You can easily create your own dialogs or wizards and integrate them with scripts and flows
using DVT Custom Dialogs.
Create a Dialog
A Custom Dialog is defined in a file with the .swtxml extension (see #1 below) using SWT/
XML Syntax. To simplify dialog creation, DVT includes:
• a SWT/XML Editor (highlight, structure, autocomplete by Ctrl+Space ...) (see #2 below)
• a SWT/XML Preview View for previewing the edited dialog (see #3 below)
Open a Dialog
A Custom Dialog can be opened from any Run Configuration by using the
${dvt_dialog_prompt:path_to_dialog.swtxml} variable. This variable takes as an argument
© AMIQ
179
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
the dialog descriptor file. The path to the *.swtxml file can be specified, in order of
precedence, either as an absolute path, as a path relative to the location of the run configuration
file or as a path relative to the project. When the run configuration is executed, the
${dvt_dialog_prompt:path_to_dialog.swtxml} variable is replaced with the string produced by
the dialog (i.e. the dialog output).
For example you can use the following command in a DVT Generic run configuration:
sh -c "echo ${dvt_dialog_prompt:path_to_dialog.swtxml}"
You can also open a dialog using the Command_Line_Interface.
A dialog looks like this:
Use the Dialog Output
The dialog output is a string composed by concatenating the output of each widget that has an
id attribute specified. The output of a widget is its id concatenated with its value. The value
differs across widgets, see Widgets.
For example a Directory Chooser defined like this:
<dvt:DirectoryChooser id="+incdir+" value="/path/to/some/dir"/>
will produce:
+incdir+/path/to/some/dir
© AMIQ
180
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
See Customizing_the_Dialog_Output for more customization options.
You can find some comprehensive examples in the DVT Predefined Projects shipped with
DVT. You can start with an example dialog containing all the available widgets from menu
New > Example > DVT > DVT Custom Dialog.
22.1 Quick Steps
1. Follow the wizard from menu New > Example > DVT > DVT Custom Dialog and place the
customdialog.swtxml file in your DVT project.
2. The SWT/XML Editor and the SWT/XML Preview View will open. In the editor (bottom
side) switch to the Source tab instead of the Design tab.
3. Change the title of the dialog by editing the id attribute of the topmost (first) Composite
element
4. Craft the dialog to the desired look by using the provided examples, autocomplete (Ctrl
+Space) and the SWT/XML Preview View
5. Create
a
Run
Configuration
and
specify
as
command
echo
${dvt_dialog_prompt:customdialog.swtxml} and run it to see and verify the output
produced by the newly created dialog
6. When you are content with the output, replace the command with your_script.sh
${dvt_dialog_prompt:customdialog.swtxml}
22.2 Customizing the Dialog Output
Because the id of a widget can be any string, you can construct a wide variety of output formats
simply by changing the form of the id. Some common use-cases are:
• Bash style dash arguments, e.g.:
id=" -name " => -name value
• Simulator style plus arguments, e.g.:
id=" +incdir+" => +incdir+value
• Make style equals arguments, e.g.:
id=" name=" => name=value
The dvt:Container widget
This widget acts just like a Composite (i.e. you can surround sets of widgets or composites with
it), but also takes some configuration parameters that are applied for all the widgets it contains.
• To specify values for checkboxes use checkboxOffValue and checkboxOnValue parameters:
© AMIQ
181
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
XML
<dvt:Container layout="layout:grid;" parameters="checkboxOnValue: -cov 1;checkboxOffValue: -cov 0">
<Button id=" " style="CHECK" text="Collect coverage" selection="true" />
</dvt:Container>
<dvt:Container layout="layout:grid;" parameters="checkboxOnValue: -wave 1;checkboxOffValue: -wave 0
<Button id=" " style="CHECK" text="Dump wave" />
</dvt:Container>
Output:
-cov 1 -wave 0
• The default separator for list elements is ;. To change it, use listSeparator parameter:
XML
<dvt:Container parameters="listSeparator: -f ">
<dvt:DirectoryFilesListing id=" -f " rootDirectory="/tmp/files"/>
</dvt:Container>
Output:
-f file_1 -f file_3 -f file_5 -f file_7
• To prevent the widget id from being output when the value is empty use noIdForEmptyValues
parameter:
XML
<dvt:Container parameters="noIdForEmptyValues:true">
<Text id=" -text "></Text>
</dvt:Container>
• To quote values use quoteWith parameter:
© AMIQ
182
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
XML
<dvt:Container layout="layout:grid;numColumns:2;" parameters="quoteWith:'">
<Label text="Text:"></Label>
<Text id=" -text " style="BORDER" text="text with whitespace that needs to be quoted" />
</dvt:Container>
Output:
-text 'text with whitespace that needs to be quoted'
Note: If you wish to quote a string with double quotes you should escape the double quote
character from XML syntax as follows:
<dvt:Container parameters="quoteWith:&quot;">
• To show information about the value of a certain widget in the console title use showInTitle
parameter:
XML
<dvt:Container parameters="showInTitle:true">
<Label text="Seed:"></Label>
<Text id=" -seed " style="BORDER" text="42223" />
</dvt:Container>
Output
Further customization can easily be achieved by using a simple script for processing
arguments. E.g. with the following bash snippet you can convert any argument to any desired
form:
#!/bin/bash
#
# bash_arg_converter.sh
#
while [ $# -gt 0 ]; do
case $1 in
-custom_*)
argname="$1"
© AMIQ
183
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
shift
argval="$1"
## Customize here to desired format ##
echo -n " $argname $argval "
;;
*)
echo -n " $1 "
;;
esac
shift
done
In the configuration command box use the following instead of ${dvt_dialog_prompt}:
`./bash_arg_converter.sh ${dvt_dialog_prompt:customdialog.swtxml}`
How to avoid quoting problems: in the .swtxml file it is recommended to use \&quot; for
nested quotes and for the Launch Command (Run Configurations > Launch Command) the
variable ${dvt_dialog_prompt:customdialog.swtxml} should be surrounded by quotes, like
in the image below:
22.3 SWT/XML Reference
A custom dialog is described in an XML file with .swtxml extension. The first line must declare
the file as XML:
<?xml version="1.0" encoding="utf-8"?>
The topmost element must be a Composite widget that defines the title of the dialog (specified
by its id attribute) and the widgets that can be used (standard SWT widgets and custom DVT
widgets):
© AMIQ
184
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
<Composite xmlns="http://www.swtxml.com/swt"
xmlns:sv="http://www.dvteclipse.com/xmlns/customdialog/sv"
xmlns:dvt="http://www.dvteclipse.com/xmlns/customdialog"
id="Dialog Title">
</Composite>
A widget is a graphical component (e.g. Textbox, Checkbox) or a container of other widgets
(e.g. Composite, Group). Each widget has a corresponding XML tag. You can use any widget
to create your dialog. If you specify an id attribute for the widget tag, it will also produce an
output in the dialog result.
22.3.1 Layouts
There is a large set of layout options available. A complete reference can be
found here [http://www.eclipse.org/articles/article.php?file=Article-Understanding-Layouts/
index.html]. The best approach to finding the desired layout is by using the extensive
autocomplete provided by the SWT/XML Editor. Below there is a list common use-cases with
examples.
Horizonal Fill
<Composite id=" -verbosity " layout="layout:fill;">
<Label text="Verbosity:"/>
<Button id=" HIGH " style="RADIO" text="High"/>
<Button id=" MEDIUM " style="RADIO" text="Medium"/>
<Button id=" LOW " style="RADIO" text="Low"/>
</Composite>
Vertical Fill
<Composite id=" -verbosity " layout="layout:fill;type:VERTICAL;">
<Label text="Verbosity:"/>
<Button id=" HIGH " style="RADIO" text="High"/>
<Button id=" MEDIUM " style="RADIO" text="Medium"/>
<Button id=" LOW " style="RADIO" text="Low"/>
</Composite>
Grid
© AMIQ
185
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
<Composite id=" -verbosity " layout="layout:grid;numColumns:3;">
<Label text="Verbosity:" layoutData="horizontalSpan:3;"/>
<Button id=" HIGH " style="RADIO" text="High"/>
<Button id=" MEDIUM " style="RADIO" text="Medium"/>
<Button id=" LOW " style="RADIO" text="Low"/>
</Composite>
22.3.2 Widgets
Composite
Composites are used for grouping other elements, and they have no visual representation. You
can control how their children elements are arranged by specifying the layout attribute. See the
Layouts section for information on how to control the look of the dialog.
Group
Groups are similar to composites, except that they are graphically delimited by a border and
can have a title specified by the text attribute. Refer to Radio Button for an example.
Label
Labels are simple text fragments used to present information. Refer to Textbox for an example.
Textbox
XML
<Label text="Seed number:"/>
<Text id=" -seed " style="BORDER" text="123456" />
Output
-seed 123456
Checkbox
XML
<Button id=" -cov " style="CHECK" text="Collect coverage" selection="true" />
<Button id=" -wave " style="CHECK" text="Dump wave" />
Output
-cov
© AMIQ
186
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
Radio Button
XML
<Group id=" -sim " text="Simulator" layout="layout:fill;type:VERTICAL;">
<Button id=" IUS " style="RADIO" text="IUS" selection="true"/>
<Button id=" VCS " style="RADIO" text="VCS" />
<Button id=" Questa " style="RADIO" text="Questa" />
</Group>
Output:
-sim IUS
Directory Chooser
XML
<dvt:DirectoryChooser
id=" -sim_dir "
question="Sim dir"
layoutData="horizontalAlignment:FILL;"
value="../sim"/>
Output:
-sim_dir ../sim
File Chooser
XML
<dvt:FileChooser
id=" -mem_file "
question="Memory init data"
layoutData="horizontalAlignment:FILL;"
extensions="*.bin"
© AMIQ
187
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
value="/common/mem/init.bin"/>
Output:
-mem_file /common/mem/init.bin
Combo Box
XML
<Combo
id=" -test "
text="test_reset"
items="test_random;test_reset;test_back2back;test_1;test_2;test_3"/>
Output:
-test test_reset
Combo Box (read only)
XML
<Combo
id=" -test "
style="READ_ONLY"
text="test_reset"
items="test_random;test_reset;test_back2back;test_1;test_2;test_3"/>
Output:
-test test_reset
List
XML
<List
id=" -verbosity "
© AMIQ
188
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
text="HIGH"
style="BORDER|V_SCROLL"
items="HIGH;MEDIUM;LOW;NONE"/>
Output:
-verbosity HIGH
Directory Files Listing
Lists all files/dirs that match a certain criteria in a specified folder.
XML
<dvt:DirectoryFilesListing
id=" -file "
question="Files Listing"
includePaths="**\*.sv;**\*.e;**\*.vhdl"
excludePaths=""
rootDirectory="/home/path/.."
fileType="FILE;DIR"
outputOption="basename"
showHiddenFiles="true"
timeoutSeconds="10"/>
Output:
-file file_name
Parameters
• includePaths (excludePaths) - include (exclude) files based on their filename
• Examples
• "**\*.e;**\*.vhd" matches all .e and .vhd files/dirs in a directory tree.
• "test\a??.sv" matches all files/dirs that start with an 'a', then two more characters and
then ".sv", in a directory called test.
• "**" matches everything in a directory tree.
© AMIQ
189
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
• "**\test\**\XYZ*" matches all files/dirs that start with "XYZ" and where there is a
parent directory called test (e.g. "abc\test\def\ghi\XYZ123").
• Default value for 'includePaths' is '**'
• rootDirectory - can be specified as an absolute path or relative to a project in the current
workspace. The path can also contain system variables.
• fileType - select whether files, directories or both are shown
• FILE - displays only files
• DIR - displays only directories
• FILE;DIR - displays both files and directories
• Default value for 'fileType' is FILE
• outputOption - option to format the selected file's name
• 'basename' - returns the file's name without extension
• 'fullname' - returns the file's name with extension
• 'fullpath' - returns an absolute path of the selected file
• 'relativepath' - a path relative to 'rootDirectory'
• showHiddenFiles - by default is false
• timeoutSeconds - if the root directory has a large number of children, listing them is stopped
after * seconds
Note: The includePaths and excludePaths attributes use ant-like path patterns [http://
ant.apache.org/manual/dirtasks.html#patterns].
Class Selector
XML
<sv:ClassSelector
© AMIQ
190
Rev. 3.5.35
DVT VHDL IDE
Chapter 22. Custom Dialogs
www.dvteclipse.com
id=" -test "
question="Test to run"
layoutData="horizontalAlignment:FILL;
verticalAlignment:FILL;
grabExcessHorizontalSpace:true;
grabExcessVerticalSpace:true;"
baseClassName="uvm_test"/>
Output:
-test test_2m_4s
Note: This widget is only available for SystemVerilog.
© AMIQ
191
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 23. Command Line Interface
DVT has a Command Line Interface that allows you to perform various operations in DVT
directly from the shell. For example you can create a new project, import an existing project,
open a file etc.
You send the CLI commands using the dvt_cli.sh script.
23.1 dvt_cli.sh
With this script you can send commands to a running DVT from the terminal. If no running
DVT instance is detected in the specified workspace, a new one is opened using dvt.sh.
23.2 Syntax
./bin/dvt_cli.sh -h[elp]
./bin/dvt_cli.sh [-s[ilent]] [-noexit] [-timeout <timeout>]
[-workspace <dir>] [-import_workspace_settings <dir>]
[-force_import_workspace_settings <dir>]
<command>
[-eclipse_args "<arguments to be passed to eclipse executable>"]
-h[elp]
-s[ilent]
-noexit
Display usage.
[Optional] Do not print any WARNING / INFO messages.
[Optional] If the script starts a new DVT, it will not exit
until DVT is closed (i.e. dvt.sh finishes).
-timeout <timeout> [Optional] If the script starts a new DVT, it will wait
at most <timeout> seconds for DVT to start. Default: 100.
-workspace <dir> [Optional] Location of the DVT workspace (overrides
$DVT_WORKSPACE_PATH)
-eclipsespace [Optional] Path to a custom eclipse storage directory
(instead of ~/.eclipse).
-import_workspace_settings <dir> [optional, dvt.sh argument]
Path to the workspace from where settings will be
imported.
-force_import_workspace_settings <dir> [optional, dvt.sh argument]
Same as -import_workspace_settings, but it will overwrite
target workspace settings.
-eclipse_ini <path_to_ini_file> [optional, dvt.sh argument] use this
file instead of the default eclipse.ini when starting DVT
(using this flag you can set JVM memory limits and other
eclipse parameters as described in
http://wiki.eclipse.org/Eclipse.ini)
<command> All other arguments are considered the command to be
passed to DVT. For more info on the available commands consult
the COMMANDS section below.
© AMIQ
192
Rev. 3.5.35
DVT VHDL IDE
Chapter 23. Command
Line Interface
www.dvteclipse.com
-eclipse_args <arguments to be passed to eclipse executable>
Everything that follows this argument is passed to the eclipse executable as-is.
THIS MUST BE THE LAST ARGUMENT OF THE COMMAND LINE
23.3 Notes
This script can also be configured by the following system variables:
$DVT_WORKSPACE_PATH [required if -workspace flag not specfied] location
of the DVT workspace
$DVT_NETCAT_EXECUTABLE [required if 'netcat' is not found in $PATH]
location of the netcat exacutable
This script requires netcat executable.
To pass system variables to the script as arguments you should escape the $ (dollar) preceding
the varible name with \ (backslash), e.g. \$USER
23.4 Examples
Create a Verilog/SystemVerilog/VHDL project:
$> dvt_cli.sh createProject $PROJ/my_project -lang vlog -lang vhdl -f $PROJ/my_project/filelist.f
Create a project and place it in its own workingset in a new DVT window; overwrite project if
it already exists; logically link some common library files under the project directory:
$> dvt_cli.sh createProject $PROJ/my_project -lang vlog -lang vhdl -workingset
-newwindow -force -f $PROJ/my_project/filelist.f -map common $COMMON_LIB
Create an e Language project and place it in its own workingset in a new DVT window; logically
link some common library files under the project directory:
$> dvt_cli.sh createProject $PROJ/my_project -workingset -newwindow -force
-top $PROJ/my_project/e/top.e -test $PROJ/my_project/tests/test1.e -map common $COMMON_LIB
Create a Verilog/SystemVerilog/VHDL project and associate it with Perforce
$> dvt_cli.sh createProject $PROJ/my_project -lang vlog -lang vhdl -f $PROJ/my_project/filelist.f
-p4 P4PORT=company_server:1666,P4CLIENT=perforce-work,P4USER=user1
Create a project from an existing template:
$> dvt_cli.sh createProjectFromTemplate /target/location -template $PROJ/template/
Import an existing project into the workspace and place it in its own workingset in a new DVT
window:
$> dvt_cli.sh importProject $PROJ/my_project -workingset -newwindow
© AMIQ
193
Rev. 3.5.35
DVT VHDL IDE
Chapter 23. Command
Line Interface
www.dvteclipse.com
Open a file in the context of my_project and reveal line #50:
$> dvt_cli.sh openFile $PROJ/my_project/e/bfm.e -line 50 -project my_project
Open a custom dialog and print its output to the console:
$> dvt_cli.sh openCustomDialog -file dialog.swtxml -project my_project
Print a list of the files compiled in my_project:
$> dvt_cli.sh listCompiledFiles -project my_project -unique
23.5 Makefile Example
If you plan to integrate DVT in a flow which uses Make, you can find an example Makefile
inside the uvm-1.1d_ubus predefined project:
cd $DVT_HOME/predefined_projects/uvm-1.1d_ubus/examples/
# default target prints the usage
make -f Makefile.dvt
# Target dvt_gen creates the project directory # and generates the project configuration files
make -f Makefile.dvt dvt_gen
# Target dvt calls dvt_gen, starts DVT and creates the project
make -f Makefile.dvt dvt # target dvt con
23.6 Commands
23.6.1 Create a Project (Mixed-Language
Capable)
createProject <project_path> [-workingset [-newwindow]] [-force]
[-f|-F <file_path>] [-top <top_file_path>] [-test <test_file_path>]
[-map <link_name> <target_path>] [-name <project_name>]
[-lang <lang>] [-perspective <perspective>] [-p4 <connection_parameters>]
[-exclude [name|path|projectRelativePath[_regex]=]<pattern>]
<project_path>
absolute path to project (must exist)
-workingset [Optional] add project to a working set
-newwindow [Optional] open a new window with the working set selected
-force
[Optional] required to overwrite existing project
-f|-F
[Optional] specify a command file for the project;-f and -F
are mutually exclusive
© AMIQ
194
Rev. 3.5.35
DVT VHDL IDE
Chapter 23. Command
Line Interface
www.dvteclipse.com
-top
[Optional] specify a top file for the project;
you can specify this option multiple times
-test
[Optional] specify a test file for the project;
you can specify this option multiple times
-map
[Optional] create a linked resource called <link_name>
pointing to <link_target>
-name
[Optional] use as project name instead of project's
directory name
-lang
enable support for <lang> language; valid are:
E, VLOG, VHDL (case-insensitive); at least one must
be specified
-perspective [Optional] switch to <perspective> after creating the project.
By default, DVT switches to the DVT Perspective if
multiple -lang directives are provided. If a single
language is enabled, the corresponding perspective
is activated. Valid argument values: E, VLOG, VHDL, DVT or a perspective id
-p4
[Optional] share project with Perforce Eclipse plugin. The <connection_parameters>
argument must be specified as a list of <parameter>=<value>
separated by commas.
Mandatory parameters:
P4PORT=<host:port> (P4PORT=company_server:1666)
P4CLIENT=<perforce_workspace_name> (P4CLIENT=perforce-work)
P4USER=<username> (P4USER user1)
Optional parameters:
P4CHARSET=<charset_type>
(P4CHARSET=none)
P4PASSWD=<password>
(P4PASSWD=password123)
SAVEPASS=<save_in_secure_storage_or_not>
(SAVEPASS=false) OFFLINE=<working_offline_or_not> (OFFLINE=false)
-exclude
[Optional] exclude from the project resources (files,
directories) and their children recursively
by name, location (absolute path) or projectRelativePath.
For <name|location|projectRelativePath>=<pattern>,
the pattern is case insensitive and allows simple wildcards (* and ?)
For <name_regex|location_regex|projectRelativePath_regex>=<pattern>,
the pattern is case sensitive and allows regular expressions
If only <pattern> is specified, matching is done
against the resouce <name> using simple wildcards (* and ?).
[NOTE] DVT provides a user interface for managing Resource Filters
as a simpler and more intuitive alternative to the Eclipse
built-in Resource Filters management UI. However, DVT's UI
only works for <projectRelativePath> filters that do not contain wildcards
or regular expressions
-build <name> [Optional] Set <name> as active build configuration.
-<name>.build <build configuration directives ...> [Optional]
Create the build configuration file <project>/.dvt/<name>.build
with <build configuration directives> as content. All flags
up to the end of the command line, or up to the
next -<name>.build flag are considered build configuration directives.
© AMIQ
195
Rev. 3.5.35
DVT VHDL IDE
Chapter 23. Command
Line Interface
www.dvteclipse.com
This flag cannot be used in conjunction with -f, -F, -test, or -top.
NOTE: For backward compatibility, the commands createEProject and createSVProject are
still recognized by the DVT CLI, and are equivalent with a createProject command plus the
corresponding -lang flag
23.6.2 Create a Project From an Existing
Template
createProjectFromTemplate <target_path> -template <template_path>
Creates a project into the workspace from an existing project template
<target_path>
absolute path to target directory
<template_path> absoulute path of the project template
23.6.3 Import an Existing Project
importProject <project_path> [-workingset [-newwindow]] [-p4 <connection_parameters>]
Import an existing project into the workspace
<project_path> absolute path to project
-workingset [Optional] add project to a working set
-newwindow [Optional] open a new window with the working set selected
-p4
[Optional] share project with Perforce Eclipse plugin. The <connection_parameters>
argument must be specified as a list of <parameter>=<value>
separated by commas.
Mandatory parameters:
P4PORT=<host:port> (P4PORT=company_server:1666)
P4CLIENT=<perforce_workspace_name> (P4CLIENT=perforce-work)
P4USER=<username> (P4USER user1)
Optional parameters:
P4CHARSET=<charset_type>
(P4CHARSET=none)
P4PASSWD=<password>
(P4PASSWD=password123)
SAVEPASS=<save_in_secure_storage_or_not>
(SAVEPASS=false) OFFLINE=<working_offline_or_not> (OFFLINE=false)
23.6.4 List Compiled Files
listCompiledFiles -project <project_name>[ -unique][ -dirs][ -separator <separator>]
List all the files compiled in the specified project, in compilation order.
-project The project for which you want the list of compiled files.
-unique [Optional] Remove duplicates form the list.
-dirs
[Optional] Get a list of parent directories of the compiled
files instead of the files themselves.
© AMIQ
196
Rev. 3.5.35
DVT VHDL IDE
Chapter 23. Command
Line Interface
www.dvteclipse.com
-separator [Optional] Specify a custom separator for the list elements;
default is newline.
23.6.5 Launch a Run Configuration
launchRunConfig [-blocking] -name <run_config_name>
Launch a Run Configuration
-blocking [Optional] return after the Run Configuration has completed
-name
Name of the Run Configuration to launch
23.6.6 Open a File
openFile <path_to_file>[ -line <line_number>][ -project <project_name>]
Open the file denoted by <path_to_file> in the DVT editor.
-line
[Optional] select and reveal the specified line in the editor;
lines are counted from 1
-project [Optional] try to open the file from the specified project
If the file does not exist in the given project, it is opened
from any other project in the workspace.
If the file does not exist in any project, it is opened
out of any context (limited DVT capabilities).
23.6.7 Open a Custom Dialog
openCustomDialog -file <path_to_swtxml> [-project <project_name>]
Open a custom dialog and return the values that were filled in.
-file
.swtxml file describing the custom dialog. Either an
absolute path or a path relative to project root
-project [Optional] specify a project for the Custom Dialog
23.6.8 Refresh a project
refreshProject <project_name> [-subpath <subpath>] [-depth <depth>]
Refresh a project or a <subpath> in a project.
-subpath [Optional] Only refresh <project_path>/<subpath>. May be a
folder or a file.
-depth
[Optional] Only refresh to the provided depth. By default the
refresh depth is 2, that is full (recursive) refresh.
Possible values for <depth> are:
2 the resource and its direct and indirect members at any depth
© AMIQ
197
Rev. 3.5.35
DVT VHDL IDE
Chapter 23. Command
Line Interface
www.dvteclipse.com
1 the resource and its direct members
0 the resource, but not any of its members
23.6.9 Quit
quit
Quit DVT
23.6.10 Query the running status
status
Query the running status of DVT.
23.6.11 Print version
version
Print the DVT version number.
© AMIQ
198
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 24. Reminders (TODO
Markers)
See the Tasks View.
© AMIQ
199
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 25. Settings Management
DVT allows you to customize various settings from memory allocation thresholds to run
configurations or editor specific preferences like tab width and code templates.
Starting with version 3.5, DVT provides an out of the box mechanism that simplifies settings
management.
Settings are organized in several precedence levels in order to allow a fine-grained control:
• Project level settings are stored in <project>/.dvt directory
• User level setting are stored by default in $HOME/.dvt/settings, the location can be
customized using $DVT_USER_SETTINGS system variable
• Common level settings are not stored by default, the location can be customized using
$DVT_COMMON_SETTINGS system variable
The order of precedence (starting with the higher one) is:
• Project level
• User level
• Common level
In order to reuse a specific setting, for example from project level to user level, all you have
to do is copy it from the project level specific file to the user level specific file. In similar way
you can move settings from user to common level for team or company wide reuse.
25.1 Managed Settings
Not all settings are used in the same way. Some of the settings might be used only when the
platform starts and others only when a specific operation is invoked.
The following list presents the type of settings, the file where they are stored by default and
order of precedence:
• Eclipse Launcher Configuration
• file name: eclipse.ini
• description: settings used by the Eclipse launcher (executable) to start the process, for
example memory allocation thresholds
• precedence:
• dvt.sh arguments
• user
© AMIQ
200
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
• common
• $DVT_HOME/eclipse/eclipse.ini
• handling: merged by precedence order; flags that have a key-value nature will be
overwritten by the higher precedence value and all other flags will be accumulated
• relevant settings:
• memory allocation thresholds (-Xms, -Xmx, -Xss)
• flags used by Eclipse
• compiler exclude options
• GTK RC File
• file name: theme.gtkrc
• description: settings used by GTK window manager under linux operating system to
determine the window colors for buttons, text, etc.
• precedence:
• user
• common
• $DVT_HOME/.dvt.gtkrc
• handling: replaced by precedence order; the file with higher precedence will be used
• Workspace Preferences
• file name: preferences.ini
• description: any changes done through Window > Preferences dialog will be
automatically reflected in the preferences.ini file at user level;
• precedence:
• user
• common
• handling: merged by precedence order; preferences will be overwritten by the higher
precedence value
• relevant settings:
© AMIQ
• key bindings
201
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
• global code templates
• editor customizations
• task tags
• DVT Generic Run Configurations
• file name: *.launch
• description: run configurations are used to run external programs and can be serialized
in *.launch files
• handling: accumulated from all opened projects (including user and common locations
automatically linked in DVT-Settings project)
• Verissimo Linter Configurations
• file name: *.launch
• description:
linter
configurations
are
used
to
set
the
linter
configuration files (*_lint_ruleset.xml, *_lint_waivers.xml, *_lint_user_notes.xml,
*_lint_manual_checks_status.xml) and can be serialized in *.launch files
• handling: accumulated from all opened projects (including user and common locations
automatically linked in DVT-Settings project)
• Compile Waivers
• file name: waivers.xml
• description: used to change the severity (promote/demote) or disable the problems
reported by DVT during compilation (see Compile Waivers)
• precedence:
• project
• user
• common
• handling: accumulated from all levels in precedence order
• default location: <project>/.dvt/waivers.xml
• Content Filters
• file name: content_filters.xml
© AMIQ
202
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
• description: used to eliminate the unnecessary clutter introduced by 3rd party libraries
like UVM (automatically hiding their API, TODO reminders, problems, ...)
• precedence:
• project
• user
• common
• handling: accumulated from all levels in precedence order
• default location: <project>/.dvt/content_filters.xml
• External Builders
• file name: external_builders.xml
• description: used to invoke any 3rd party script or tool and back-annotate its output
(errors, warnings etc.) to the source code (see External Builders)
• precedence: there can't be two configurations with the same name, if it happens there is
no guarantee on the precedence order
• handling: accumulated from all levels
• default location: <project>/.dvt/external_builders.xml
• Export HTML Documentation
• file name: dvt_export_html.xml
• description: settings used by the Export HTML Documentation Wizard (see Export
HTML Documentation)
• precedence:
• project
• user
• common
• handling: flags that have a key-value nature will be overwritten by the higher precedence
value and all other flags will be accumulated
• default location: <project>/.dvt/dvt_export_html.xml
© AMIQ
203
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
25.2 Unmanaged Settings
There are also some settings that are not handled by DVT.
The following list presents settings that won't be handled:
• Position of dialogs
• Is persisted when the same workspace is used but in can't be shared using user or common
levels
• Size of views
• Is persisted when the same workspace is used but in can't be shared using user or common
levels
• Last opened perspective or saved perspectives
• Is persisted when the same workspace is used but in can't be shared using user or common
levels
• Working Sets
• Are persisted when the same workspace is used but in can't be shared using user or common
levels
• Secure storage information
• This is preserved in $HOME/.eclipse/org.eclipse.equinox.security and is not handled by
DVT
• User installed plugins in a shared installation
• This is preserved in $HOME/.eclipse/org.eclipse.platform* directories and is not handled
by DVT
• Settings used by other plugins that are not stored using the workspace preferences
engine
• These settings can be stored anywhere so is not possible to handle them
25.3 User and Common Settings
Location
• User level settings
• Location is set by default in $HOME/.dvt/settings when DVT is started using dvt.sh or
dvt_cli.sh scripts on Linux. On Windows and MacOS the user location is not defined and
the engine for settings management is disabled.
© AMIQ
204
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
• To set or change the location of user level settings the $DVT_USER_SETTINGS variable
must be set in the environment before DVT is started.
• Common level settings
• Location is not defined by default.
• To set or change the location for common level settings, the
$DVT_COMMON_SETTINGS variable must be set in the environment before DVT is
started.
• If multiple common levels are needed then the variable can contain multiple paths
separated using the OS's path separator. In this case the last directory will have the higher
precedence.
25.4 Use Cases
Using the same settings across all workspace and projects can be achieved by configuring the
corresponding file and adding it in the user location (where $DVT_USER_SETTINGS points
to).
To share the settings with other users you must put the setting files in a common location and
set $DVT_COMMON_SETTINGS to that location.
A recommended work-flow for sharing any type of settings with other users is:
1. Start DVT in a clean workspace
2. Customize preferences
3. Define run configurations, compile waivers, etc. on a reference project and move the
corresponding files in the user location (available under DVT-Settings/user)
4. Close DVT and move the files from the user location to a common location where all users
can point the $DVT_COMMON_SETTINGS system variable
25.4.1 Memory Allocation Thresholds
Create or modify the eclipse.ini file in the user settings location and add the new memory
arguments. For example:
-vmargs
-Xmx2048m
-Xms128m
-Xss1m
After adding the new memory thresholds every DVT instance will use them. If you want to
change the memory only for a single invocation of DVT you can use the dvt.sh arguments (Xmx, -Xms, -Xss) in the command used to invoke DVT.
© AMIQ
205
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
To share this configuration with other users you can put the eclipse.ini file in common location.
Users will still be able to change the settings using an eclipse.ini in the user location.
25.4.2 Workspace Preferences
Workspace Preferences are automatically saved in the user location preferences.ini file.
Reusing them across workspaces is automatically achieved.
To share a set of preferences you must copy the preferences.ini file in the common location.
Some workspace preferences that are usually shared between users are:
• Key Bindings - General > Keys
• Code Templates - DVT > Code Templates
• Task Tags - DVT > Task Tags
• Formatting - DVT > e Language / SystemVerilog / VHDL > Editor > Formatting
• Tab width and spaces > General > Editors > Text Editors
25.4.3 Run Configurations
Run Configurations can be used to launch 3rd party tools and can be reused across workspaces
and projects by using the Common Tab > Save as > Shared file and save it in DVT-Settings/
user project directory.
To share them with other users move them in the common location.
25.4.4 Compile Waivers
You can create Compile Waivers for libraries or IPs using a reference project and copy the
<project>/.dvt/waivers.xml file in the user location to make it available for all projects.
To share them with other users move them in the common location.
25.4.5 Content Filters
You can create Content Filters for libraries or IPs using a reference project and copy the
<project>/.dvt/content_filters.xml file in the user location to make it available for all projects.
To share them with other users move them in the common location.
25.4.6 External Builders
You can create External Builders to invoke any 3rd party script or tool and back-annotate
the output to the source code using the wizard. The external builders will be saved in
© AMIQ
206
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
<project>/.dvt/external_builders.xml and you can reuse them by copying the file in the user
location.
25.4.7 Export HTML Documentation
To use the same settings for Export HTML Documentation regardless of the project where you
create the documentation you must generate a documentation using the desired settings. They
will be saved in the <project>/.dvt/dvt_export_html.xml file. You can manually edit the file
to remove specific settings like the <title> tag.
The file can be moved afterwards in the user or common locations.
25.5 Examples
To understand how settings from all levels are merged we can use the following layout for
common, user and project levels:
> common_settings/
> waivers.xml
> preferences.ini
> eclipse.ini
> run_sim.launch
> user_settings/
> preferences.ini
> run_compile.launch
> project/
> .dvt/
> ...........
> waivers.xml
DVT is invoked using the following command:
dvt.sh -Xmx 4096m
For the above example DVT will start using the flags specified in the common level eclipse.ini
but the memory allocation threshold will be the one specified in the command (4096 MB)
because the command line arguments have precedence.
The DVT session will contain the run_sim run configuration and also the run_compile run
configuration because these are accumulated from all levels.
Workspace preferences will result from merging the preferences.ini from both common and
user levels but if there are any conflicts the user level preferences will have precedence. Nonconflicting preferences are accumulated from both levels.
When operating on the opened project, the compilation problems will be waived using the
accumulated waivers from common level and project level (project/.dvt/waivers.xml).
© AMIQ
207
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
25.6 Deprecated Settings
Management (before DVT 3.5)
DVT settings use the Eclipse Platform settings mechanism. By settings we refer to every option
that can be configured by users and are restored between different invocations of DVT.
There are 3 types of settings:
• Workspace Settings
• Project Settings
• Other Settings
25.6.1 Workspace Settings
Workspace settings are mainly those that can be set in Window > Preferences
dialog. These settings are persisted in the <workspace>/.metadata/.plugins/
org.eclipse.core.runtime/.settings/
There are also other settings that can be stored under <workspace>/.metadata/ directory and
can be considered workspace settings. Some of them are:
• The paths of the imported workspace projects
• The last position of different dialogs
• The settings of different views (e.g. column order)
25.6.2 Project Settings
These settings are always correlated to the project and are saved under the project directory. It
is very important to understand that every Eclipse plugin can create and maintain its own set
of files with settings related to that plugin.
.project file
By default, the Eclipse Platform creates in every project directory a .project file that can contain
the following information:
• Project name
• Project natures and builders (what kind of project is that and what are the plugins that should
handle this project)
• Linked resources information (files or directories from outside the project that are linked into
the project's tree)
.dvt directory
© AMIQ
208
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
This directory is used to keep all the settings needed for a DVT project. Some of the files stored
in this directory are:
• .*_top_files or default.build used for compilation configuration
• *_linter_waivers.xml and *_linter_ruleset.xml used for linter configuration
25.6.3 Other Settings
There are another two places where DVT can store information.
• $HOME/.dvt.gtkrc file is used to store GTK Theme settings on linux platforms. Since
Eclipse Platform 3.x doesn't support themes, the feature uses this file to store the information
about the colors. This file exists because the GTK hooks are done in the scripts before
the platform is up. Be aware that GTK Theme settings are common between all DVT
instances of that user.
• $HOME/.eclipse directory can hold two things:
• The Eclipse key ring settings, in case that any passwords are saved in DVT (e.g. CVS,
SVN,... plugins can use passwords that can be protected with a master password).
• User installed plugins when it uses a global installation (DVT directory is read only)/
25.6.4 Importing Preferences From a Different
Workspace
Workspace Settings can be migrated between workspaces using different methods
• Using Import/Export Wizard
• Using dvt.sh Script
• Manually
Using Import/Export Wizard
The recommended way to migrate workspace settings is through the Preferences Import/Export
Wizard.
To export the settings, start DVT in the workspace containing the settings, go to File > Export
> General > Preferences, select Export All and choose the name of the file.
To import the preferences, start DVT in the new workspace, go to File > Import > General
> Preferences, select Import All and choose the name of the file.
Using dvt.sh Script
Another way to import the settings from an old workspace into a new one is to use the dvt.sh
script to start DVT.
© AMIQ
209
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
Argument
Description
workspace <dir>
Path to the workspace directory.
import_workspace_settings <dir>
Path to the workspace from where the settings will be
imported.
force_import_workspace_settings
<dir>
Same as -import_workspace_settings, but it will
overwrite target workspace settings.
Manually
To import workspace settings from an old workspace to a new one can be done just by copying
the settings directory
mkdir -p <new_workspace>/.metadata/.plugins/org.eclipse.core.runtime/
cp -r <old_workspace>/.metadata/.plugins/org.eclipse.core.runtime/.settings/ <new_workspace>/.metadata/.p
25.6.5 Customizing Default Settings Using
dvt.ini
Eclipse Platform supports setting the default preferences for every new workspace. This option
is useful in many situations:
• The user wants to use the same preferences in every new workspace, and using the export/
import is an overhead
• The DVT application administrator wants to put a set of default settings for company wide
deployment.
The easiest way to customize the default settings is to set them in clean workspace and save
them using the Show Changed Preferences Dialog in the distribution's dvt.ini file.
The required steps to do this are:
1. Open DVT in a new workspace
2. Change the preferences
3. Use the Window > Show Changed Preferences dialog to identify the changed preferences
4. Add those in the dvt_eclipse/misc/dvt.ini file
Now every new workspace will have those preferences.
Show Changed Preferences Dialog
To open the Show Changed Preferences Dialog go to Window > Show Changed Preferences
The dialog allows the user to inspect the modified preferences and save them in a file.
© AMIQ
210
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
Changing the Default dvt.ini
To add new settings to the default settings provided with the distribution and to make them
available by default for everyone who starts in a new workspace, the settings saved in the Show
Changed Preferences Dialog should be added in the dvt_eclipse/misc/dvt.ini file.
The dvt.ini file already contains some settings as distribution default. The user's settings should
be appended to this file.
Some of the default settings already present in the dvt.ini file are:
Name
Description
org.eclipse.ui/
Enables the JVM memory monitor.
SHOW_MEMORY_MONITOR=true
org.eclipse.ui/
ENABLE_ANIMATIONS=false
Disables the minimize/maximize animations.
org.eclipse.ui.editors/
lineNumberRuler=true
Shows line numbers by default in editors.
org.eclipse.debug.ui/
Activates "Always
org.eclipse.debug.ui.UseContextualLaunch=false
application.
ro.amiq.dvt/
spelling_user_dictionary=
$DVT_HOME/misc/
dvt_dictionary.txt
launch
previously
launched
Sets the path to the distribution dictionary for DVT
editors.
Using a User Customized dvt.ini
After creating a preferences file the user can replace the distribution's dvt.ini file to make them
widely deployed or he or she can start DVT with a different file for default settings using the
dvt.sh script:
© AMIQ
211
Rev. 3.5.35
DVT VHDL IDE
Chapter 25. Settings
Management
www.dvteclipse.com
dvt.sh [any other argument] -eclipse_args -pluginCustomization <path_to_settings_file>
© AMIQ
212
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 26. Reference
26.1 Common Shortcuts
Ctrl+Shift+L
Open the Shortcuts dialog. Use it to see all the available shortcuts.
F3
Jump to declaration. Cursor must be on the entity name.
Ctrl+L
Open the Go to Line dialog. Use it to quickly jump to a line in the current
file.
Ctrl+D
Delete current line.
Ctrl + /
Comment current line or selection.
Ctrl+Q
Jump to last edit location.
Ctrl+Alt+R
Rebuild Project.
Ctrl+S
Save.
Ctrl+3
Brings up the Quick Access dialog - UI elements such as commands,
views, wizards, preference pages etc. can be accessed directly by typing
their name.
Alt + /
Autocomplete strings from currently opened editors.
Alt+Shift+Up
arrow
Select the word at cursor position.
Ctrl+F
Open the Find dialog. Use it to find some text in the current file.If you
select something, it will automatically fill the query.
Ctrl+K
+Shift+K
Ctrl Jump to the next/prev match of the selected word in file.
Shift+Alt+UP
Arrow
Select the identifier at cursor.
F5
Refresh.
Alt + r + t + With this shortcut you can quickly access a Run Configuration from Run
<Configuration > Run History. Firstly, Alt + r will open the Run menu, then type t to open
number>
Run History and then type the number of the Configuration from that list.
Ctrl+I
Open the Quick Compile Order View dialog. Use it to quickly open a file.
Ctrl+O
Open the Quick Outline View dialog. Use it to quickly move around in
large files.
Ctrl+Shift+O
Open the Quick Layers View. Cursor must be on the entity name. Use it
to quickly locate and jump to an extension.
Shift+F3
Update the Layers View to see all externsions/external implementations.
Cursor must be on the entity name.
Ctrl+H
Open the Search dialog. Use it to search for a type, field, entity,
architecture, function etc. in the workspace, current project etc. If you select
something, it will automatically fill the query.
© AMIQ
213
Rev. 3.5.35
DVT VHDL IDE
Shift+F4
Chapter 26. Reference
www.dvteclipse.com
Open and update the Design Hierarchy View to see the design structure.
Cursor must be on the entity name.
26.2 Editor Right Click Menu
26.2.1 Folding
Collapse All Levels
Fold to statement level.
Show First Level
Collapse all levels then expand one level.
Expand All Levels
Unfold code.
Toggle Current Line
Fold/unfold.
Define Custom Region
Create a folding marker for the selected region.
26.2.2 Source
Jump to Pair Bracket
Format Source
See Code Formatting
Toggle Comment
Comment/uncomment selection or current
line.
26.2.3 Code Factory
See Code Factory
26.2.4 Show
Declaration
See Use Hyperlinks to Move Around in the
Code
Diagram
See Diagrams
Design Hierarchy
See Design Hierarchy View
Layers
See Layers View
Quick Types
See Quick Types View
Quick Compile Order
See Quick Compile Order View
Quick Layers
See Quick Layers View
Quick Outline
See Quick Outline View
26.2.5 References
See Search For References
© AMIQ
214
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
26.2.6 Trace
See Trace Port Connections
26.2.7 Refactor
See Rename Refactoring
26.3 Icons and Decorations
26.3.1 Icons
Regular VHDL File
Linked Resource VHDL File
See Linked Resources.
Out of Project VHDL File
The file is not inside a project directory, nor accessible as a linked resource.
Functionality is limited on "gray" files.
Library
Package
Package Body
Entity
Architecture
Component
Block
Generate
Function
Procedure
Input Port
Output Port
Bidirectional Port
Signal
Entity Instance
Component Instance
Unknown Instance
Type
© AMIQ
215
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
Enumeration literal
Constant
Generic
Process
26.3.2 Decorations
Project Scope
To enable/disable go to Window > Preferences > General > Appearance > Label
Decorations preference page and check/uncheck VHDL Language Included File.
The file is compiled.
Errors and Warnings
To enable/disable go to Window > Preferences > General > Appearance > Label
Decorations preference page and check/uncheck VHDL Language * Error or VHDL
Language * Warning.
Error
Warning
26.4 Scripts
26.4.1 dvt.sh
The DVT IDE Launcher.
Usage
dvt.sh
dvt.sh -h[elp]
dvt.sh
[-site site]
[-workspace <dir>]
[-import_workspace_settings <dir>]
[-force_import_workspace_settings <dir>]
[-dvt_log_location <file>]
[-bg]
© AMIQ
216
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
[-eclipse_args <args>]
[-Xms <size>]
[-Xmx <size>]
[-Xss <size>]
[-eclipsespace <dir>]
Where:
[-workspace <dir>]
Path to the eclipse workspace (temporary eclipse directory).
[-import_workspace_settings <dir>]
Path to the eclipse workspace from which settings will be imported.
Valid only with -workspace.
[-force_import_workspace_settings <dir>]
Same as -import_workspace_settings, but it will overwrite target workspace settings.
Valid only with -workspace.
[-eclipsespace <dir>]
Path to a custom eclipse storage directory (instead of ~/.eclipse).
[-dvt_log_location <file>]
File where DVT output will be sent (e.g. /dev/null).
Default /tmp/dvt_log_13686.
[-bg]
Launch DVT in background.
[-Xms <size>] (only in Linux)
Set the initial and minimum Java heap size, size syntax is <N>[g|G|m|M|k|K].
[-Xmx <size>] (only in Linux)
Set the maximum Java heap size, size syntax is <N>[g|G|m|M|k|K].
Default is 1024m for 32 bit OSs and 2048m for 64 bit OSs.
[-Xss <size>] (only in Linux)
Set the thread stack size, size syntax is <N>[g|G|m|M|k|K].
Default is 1m.
[-eclipse_args <args>]
Everything that follows this argument is passed to the eclipse executable as-is.
THIS MUST BE THE LAST ARGUMENT OF THE COMMAND LINE
Examples
Start DVT without any option. You will be prompted for the workspace location.
$> dvt.sh
© AMIQ
217
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
Start DVT with the maximum heap size of 4096 MB. You will be prompted for the workspace
location.
$> dvt.sh -Xmx 4096m
Start DVT in the specified workspace.
$> dvt.sh -workspace /home/cristian/dvt/workspace
Start DVT in the specified workspace and use the specified eclipsespace for storing userspecific eclipse data, like for example plugins installed by user on top of a shared installation.
By default this data is stored in /home/cristian/.eclipse.
$> dvt.sh -workspace /nfsdisk/cristian/dvt/workspace -eclipsespace /nfsdisk/cristian/dvt/eclipsespace
Start DVT with a custom configuration file. The default is /apps/amiq/dvt/eclipse/eclipse.ini.
IMPORTANT NOTE: -eclipse_args must be the last argument of the command line
$> dvt.sh -eclipse_args --launcher.ini /nfsdisk/cristian/dvt/mydvt.ini
26.4.2 dvt_cli.sh
See Command Line Interface.
26.4.3 dvt_kit_installer.sh
This script is a command line utility that can be used to install/uninstall plugins delivered with
the DVT_KIT distribution for Linux and MacOS.
The script allows you to create a DVT distribution with any combination of plugins from the
following list:
Plugins
• CDT: C/C++ Development Tools (org.eclipse.cdt)
• JDT: Java Development Tools (org.eclipse.jdt)
• PYTHON: Pydev (org.python.pydev)
• PERL: Perl Editor and IDE for Eclipse (org.epic)
• TCL: Tcl Editor and IDE for Eclipse (org.eclipse.dltk.tcl)
• CVS: Eclipse CVS Client (org.eclipse.cvs)
• SVN: Subversive SVN Team Provider (org.eclipse.team.svn)
• GIT: Eclipse EGit (org.eclipse.egit)
© AMIQ
218
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
• PERFORCE: Perforce plugin for Eclipse (com.perforce.team)
• CLEARCASE: Clearcase plugin for Eclipse (net.sourceforge.eclipseccase)
You can also see the list using:
$DVT_HOME/bin/dvt_kit_installer.sh -h
Usage
dvt_kit_installer.sh [options] operation
OPTIONS:
The options must be specified before the operation
[-w|workspace <dir>]
- Temporary workspace directory for this script (default /tmp/)
[-s|simulate]
- Simulate the operation
[-h|help]
- Display this help
OPERATIONS:
The operation must be specified after the options and only one operation
can be specified followed by a list of plugins (containing at least one plugin)
[-i|install <space separated list of plugins>]
- Install the plugins specified in the list
[-d|delete|uninstall <space separated list of plugins>]
- Uninstall the plugins specified in the list
Example
Install the plugins for CVS, SVN and C++
$DVT_HOME/bin/dvt_kit_installer.sh install CVS SVN CDT
Uninstall the plugin for CVS
$DVT_HOME/bin/dvt_kit_installer.sh uninstall CVS
Simulate the installation of JDT plugins
$DVT_HOME/bin/dvt_kit_installer.sh -s install JDT
© AMIQ
219
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
26.4.4 dvt_updater.sh
This script is a command line utility that can be used to update/install/uninstall plugins
(including DVT plugins) from an archived update site into the DVT Eclipse distribution. The
script overcomes the unusual problems that can appear when the computer is not connected to
the Internet and the user tries to install from a local update site:
Script limitations:
• Only root features can be listed with "-l"
• If a plugin that is a dependency is uninstalled the script reports success but the plugin is still
there.
Usage
dvt_updater.sh
install dvt_update_site-*.zip |
update dvt_update_site-*.zip |
uninstall
[-w /path/to/workspace]
[-f 'feature_name_1,..,feature_name_N']
[-l]
[-s]
[-h]
Where:
install - installs from the specified update site the features specified
with or the default features.
update
- updates from the specified update site the features specified
or the default features.
uninstall - uninstalls the features specified or the default features.
[-w /path/to/workspace]
- path to a temporary workspace (default is /tmp)
[-f 'feature_name_1,..,feature_name_N']
- a comma separated list of feature names, default features are:
ro.amiq.dvt.feature,
ro.amiq.dvt.extensions.feature
com.mbartl.eclipse.viplugin.feature
[-l]
- lists installed root features
[-s]
- simulate the operation
[-h]
- show this help
© AMIQ
220
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
Examples
Update DVT from an archived update site.
$DVT_HOME/bin/dvt_updater.sh /path/to/dvt_update_site-*.zip
List all installed root features.
$DVT_HOME/bin/dvt_updater.sh -l
com.mbartl.eclipse.viplugin.feature.feature.group/2.1.0.DVT20111227
com.mulgasoft.emacsplus.feature.feature.group/3.6.5
com.mulgasoft.emacsplus.optional.features.feature.group/3.6.5
com.xored.glance.feature.group/0.9.1
org.eclipse.dd.ipxact.feature.feature.group/0.2.2.201011301942
org.eclipse.epp.mpc.feature.group/1.1.1.I20110907-0947
org.eclipse.platform.ide/3.7.1.M20110909-1335
org.eclipse.wst.xml_ui.feature.feature.group/3.3.1.v201108102009-7H7EFZ3DxumTlaI6nheRdHo2p1KaDIL
org.fhsolution.eclipse.feature.csvedit.feature.group/1.1.1
ro.amiq.dvt.extensions.feature.feature.group/3.0.7.8
ro.amiq.dvt.feature.feature.group/3.0.7.8
Operation completed in 156 ms.
Uninstall a plugin from the distribution.
In this example the Vi and Emacs plugins are uninstalled. The name of a specific plugin can
be found by listing all the root features.
$DVT_HOME/bin/dvt_updater.sh uninstall -f 'com.mulgasoft.emacsplus.feature,com.mulgasoft.emacsplus.op
26.5 Toolbar Actions
Icon Description
Rebuild Project - See Build Configurations.
Lint - Run Verissimo or XVM Compliance Checking.
Diagrams - See Diagrams.
Diagrams - See Export HTML Documentation.
Diagrams - See GUI Filters.
What's New?
Report an Issue!
26.6 Views
26.6.1 Code Templates View
More details here
© AMIQ
221
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
26.6.2 Compile Order View
The Compile Order View presents the order of the compiled files as it results from the
include's starting in the project top files.
Open the view from menu Window > Show View > Other... > DVT > Compile Order.
Double click on a file to open it.
You can use CamelCase or Simple Regex to locate a specific element.
A file that is not part of the current project (files are not under the project directory).
A file in your project.
Quick Compile Order View
Press Ctrl+I to quickly open a compiled file.
The Quick Compile Order View will pop-up and and present a filterable list of all the compiled
files in the project.
You can use CamelCase or Simple Regex to locate a specific element.
Select a file and press Enter or click to open it.
© AMIQ
222
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
26.6.3 Console View
Any invocation (for example a DVT Generic run) output is dumped to the Console View.
The Console View is automatically raised at any invocation.You can also go to menu Window
> Show View > Other... > General > Console. to open the Console View.
Click on hyperlinks in the Console View to jump directly to the to source location.
26.6.4 Design Hierarchy View
The Design Hierarchy View presents recursively the instances in a Verilog module or the
instances in a VHDL entity or component implementation. Cross-language design hierarchies
are also supported.
Position the editor cursor on the name of a design element and press Shift+F4 or right-click
and choose Show > Design Hierarchy from the context menu.
The Design Hierarchy View opens with the chosen element set as the top of the hierarchy. You
can also go to menu Window > Show View > Design Hierarchy to open the view.
© AMIQ
223
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
• Select Top A drop-down menu/pop-up dialog to select from top modules for Verilog or top
architectures for VHDL. For Verilog, a top element is a module that instantiates other design
elements and it is not itself instantiated. Similar for VHDL top architectures.
• History List Click to see the previously inspected elements.
• Show Connect Toolbar Show or hide the connect instances toolbar. More details here.
• Show/Hide Ports Shows or hides the ports of the selected element. You can set the ports
panel to the right or below the hierarchy.
• Alphabetical Sort Sort instances and ports alphabetically. By default it is off which means
that the instances and the ports are presented in their declaration order in the source files.
The view label shows the current project, the current top element and the number of instances
in the hierarchy.
© AMIQ
224
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
You can double-click on an instance to go to its declaration. Double-click on a port to go to
where it is connected.
Right-click on an instance in the hierarchy and you have the following options :
• Connect Output See Connect Instances Using New Ports.
• Show Diagram Show the HDL diagram for the current selection. More details here.
• Copy Instance Path Copy to the clipboard the instance path for the current selection (for
example: apb_subsystem_top.i_apb_subsystem).
• Show Design Hierarchy Set the selected element as the top of the hierarchy and update the
view.
Right-click on a port and you have the following options :
© AMIQ
225
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
• Trace Drive / Load / Drive and Load / In Subinstance See Trace Connections.
• Connect See Connect Instances.
You can use the filters to locate a specific instance or port. You may use slash '/' characters
to filter hierarchically one level and '//' to filter hierarchically all the levels. You may use the
dot '.' character to filter instances that contain a specific port. The ports that match the filter are
promoted to the top of the ports panel. See Quick Search for more details.
No filter.
Filter by instance name. All instances that
contain the filter text are shown.
Filter strict hierarchy. All instances that
contain the filter text and are in a
direct hierarchical relationship (father/son) are
shown.
© AMIQ
226
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
Filter non-strict hierarchy. All instances
that contain the filter text and are in a
direct or indirect hierarchical relationship
(ancestor/../../descendant) are shown.
Filter strict hierarchy and show all
descendants. Same results as for filter strict
hierarchy, but including all descendants of the
matched instances.
Filter strict hierarchy and show direct
descendants. Same results as for filter strict
hierarchy, but including the sons of the
matched instances.
Filter by port name. All instances with ports
that contain the filter text are shown.
© AMIQ
227
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
Filter by hierarchy and port name. Hierarchical
filtering and port filtering may be combined.
26.6.5 Layers View
You can quickly see all the architectures of an entity or where a function is overloaded using
the Layers View.
Position the cursor on an entity, architecture or function and press Shift+F3 or right click and
choose Show Layers from the menu.
The Layers View is automatically raised at any invocation. You can also open it from Window
> Show View > Other... > DVT > Layers.
Double click on a layer and jump to the corresponding source location.
Right click on a layer to see its Usages.
You can use CamelCase or Simple Regex to locate a specific element.
1. Show History List Click to see the previously inspected layers (see the image below):
© AMIQ
228
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
Quick Layers View
Position the cursor on the element's name and press Ctrl+Shift+O.
The Quick Layers View will pop-up and present a filterable list with all of the selected
element's layers.
You can use CamelCase or Simple Regex to locate a specific element.
Select a layer and press Enter or click to jump to the corresponding source location.
26.6.6 Outline View
The Outline View presents an overview of the editor contents.
Open the view from menu Window > Show View > Other... > General > Outline.
You can click on an entity to jump to its location inside the current file.
You can use CamelCase or Simple Regex to locate a specific element.
© AMIQ
229
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
Filters...
Select
what
elements
to
show
Alphabetical Sort
If
alphabetical
sort is
on, all
the
entities
are
sorted
by
name.
By
default
the
© AMIQ
230
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
entities
are
presented
in the
definition
order.
Category Sort
If
category
sort is
on,
entities
are
arranged
by
categories
(fields,
methods
etc.),
instead
of
being
mixed
as
they
appear
in the
file.
Expand All
Collapse All
Quick Outline View
Press Ctrl+O to open the Quick Outline dialog. It presents an overview of your file.
You can use CamelCase or Simple Regex to locate a specific element.
© AMIQ
231
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
Outline View Preferences
You can configure the Outline View contents from menu Window > Preferences > DVT >
VHDL > Outline View.
© AMIQ
232
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
26.6.7 Problems View
If a project contains errors, for example syntax errors, it will be indicated using decorators:
© AMIQ
233
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
You can use the Problems View to inspect the errors. Open the view from menu Window >
Show View > Other... > General > Problems. Double clicking on some error will jump to
the source location.
26.6.8 Tasks View
You can embed reminders in your source files by adding comments prefixed by certain
"keywords" called task tags.
There are three predefined tags:
• FIXME - high priority
• TODO - normal priority
© AMIQ
234
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
• XXX - low priority
All reminders are listed in the Tasks View. If it is not visible, open the view from menu Window
> Show View > Other > General > Tasks.
Double click on a task to jump to the marker definition.
You can define custom reminder tags and assign them priorities:
• Navigate to Window > Preferences > DVT > Task Tags
You can specify if the tags should be considered case-sensitive and if the tag name should be
displayed in Tasks View.
• Click the Add... button on the right, enter the name of your tag and select its priority
© AMIQ
235
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
• Click OK in the New Task Tag and Preferences dialogs
DVT will recognize the new tag and highlight it in code comments.
Note: it is recommended to rebuild the project so that DVT rescans all files for reminders.
26.6.9 Trace Connections View
More details here
26.6.10 Types View
The Types View presents all the types (classes, structs, units, entities etc.) defined in your
project.
Open the view from menu Window > Show View > Other... > DVT > Types.
Click on the Show Members button to show the Members pane.
Double click on a type or type member to jump to its definition.
Right click on a type or type member to search for usages or further inspect the Type Hierarchy
View or the Verification Hierarchy View, where applicable.
You can perform Search For Members.
Toolbar
Show/ Toggles the visibility of the members pane. Use the drop-down to chose
Hide placement (to the right side or below the types tree).
Members
Sort Click to sort by category. Default sort order is alphabetical.
by
Category
ExpandExpand all nodes in types tree.
All
Collapse
Collapse all nodes in types tree.
All
© AMIQ
236
Rev. 3.5.35
DVT VHDL IDE
Chapter 26. Reference
www.dvteclipse.com
Quick Types View
Press Ctrl+Shift+T to quickly open a specific type definition for the project associated with
the active editor or the current selected project from the Navigator (if no editor is open).
The Quick Types View will pop-up and and present a filterable list of all the types in the
project associated with the active editor or the current selected project from the Navigator (if
no editor is open).
You can use CamelCase or Simple Regex to locate a specific element.
Select and press Enter or click to jump to its definition.
© AMIQ
237
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 26. Reference
238
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 27. Tips and Tricks
The following tips and tricks give some helpful ideas for increasing your productivity.
Editing
Code Navigation
Searching
Miscellaneous
Editing
Content assist Content assist provides you with a list of suggested completions for partially
entered text. In the editor press Ctrl+Space.
Component
Automatic
Instantiation
© AMIQ
You need to type the first letters of the component (entity, component,
configuration) name, then press Ctrl+Space three (3) times.
239
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
Matching
begin - end
If you double click on/after architecture – end, function – end, etc. the block
is highlighted.
Toggle
Comment
You can toggle comment on/off for the current line or the selected lines. Press
Ctrl+/ or use the action from the drop down menu on right click in editor.
Format
source
Use the Source > Format Source action from the right click menu in the editor.
The whole file is formatted or the current selection, if any.
One
key If you press Tab once at the beginning of a line, it is automatically aligned to
indentation
the enclosing context. Press twice to insert a tab.
© AMIQ
240
Rev. 3.5.35
DVT VHDL IDE
Reminders
(TODO
markers)
Chapter 27. Tips and Tricks
www.dvteclipse.com
When you tag a comment in source code with TODO, a corresponding tasks
is automatically created as a reminder. From the Tasks View, double click on
the task takes you to the TODO in the code.
Same for for FIXME (higher priority) and XXX (lower priority) markers. You
can also add your own tags, see the Reminders (TODO Markers) section of the
documentation.
Spell
checking
You can enable spell-checking support from the General > Editors > Text
Editors > Spelling preference page. Spelling errors are displayed in the VHDL
Language editor and corresponding Quick Fixes are available.
Folding
You can fold code sections to improve read-ability. This is how a folded file
looks like:
© AMIQ
241
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
Folding actions (to expand or collapse) are available in the toolbar
or on right click in the editor. You may also use the +''' or '-' signs on the left
side of the editor.
- Use '''Collapse All Levels for folding to statement (class, module ...) level.
- Use Show First Level for folding to struct member (method, cover...) level.
- Use Expand All to fully expand the file.
When you type on a folded line, it is automatically expanded. You may see the
folded code in a tooltip if you move with the mouse over the + sign.
Folding
You can define custom folding areas using comments to indicate the start and
custom areas the end of the area:
Maximize
editor
Double-click on the editor tab to maximize editor to full window. Doubleclick again to restore.
Show
line Check Show line numbers from the General > Editors > Text Editors
numbers
preference page
© AMIQ
242
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
Local history Whenever you edit a file, its previous contents are kept in the local history.
Right click in the editor and chose Compare With/Replace With > Local
History....
Open file in To open multiple editors for the same file you should first open the file then
more editors right click on the editor's titlebar and select New Editor
Split
the To open multiple editors side by side follow these steps:
editor view
© AMIQ
243
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
- open each file in its editor; if you wish to see the same file in a split view,
right click on its titlebar and select New Editor
- if you wish to split horizontally, drag the title bar of the file you want to split
and drop it over the horizontal scrollbar
- if you wish to split vertically, drag the title bar of the file you want to split
and drop it over the vertical scrollbar
Column
selection
© AMIQ
You can switch to and from column (block) selection mode either by clicking
on the “Toggle Block Selection Mode” button in the toolbar, or by using the
<Shift + Alt+ A> shortcut key.
244
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
Tooltips
When you position the mouse over a type, method, field etc., a tooltip will popup showing information on corresponding declaration.
Hyperlinks
If you place the mouse over a type, method, field etc. and press the Ctrl key,
a hyperlink will be presented. Click on the hyperlink to jump to definition.
You can also jump to a definition if you put the cursor on the relevant name
and press F3
Current
Scope
© AMIQ
Your current scope (for example the method or class you are editing) is always
presented in the status bar.
245
Rev. 3.5.35
DVT VHDL IDE
Quick Type
Chapter 27. Tips and Tricks
www.dvteclipse.com
You can quickly open a specific type definition. Press Ctrl+Shift+T.
The Quick Types View will pop-up and you can enter any regular expression
to locate a type. Select and press Enter or click to jump to its definition.
Quick Outline Press Ctrl+O to open the Quick Outline View. It presents an overview of
your file. You can enter any regular expression to locate a place to jump in the
current file.
© AMIQ
246
Rev. 3.5.35
DVT VHDL IDE
Types View
Chapter 27. Tips and Tricks
www.dvteclipse.com
You can view all types (scalars, classes, module) in the project (including their
fields, methods etc.) in the Types View. Open the view from menu Window
> Show View > Other... > DVT > Types.
Outline View You can see the summary contents of the current file (structs, field, methods) in
the Outline View.Open the view from menu Window > Show View > Other...
> General > Outline.
© AMIQ
247
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
Mark
occurrences
When working in the VHDL editor, turn on Mark Occurrences in the toolbar
or press Alt+Shift+O.
Bookmarks
Similar with a web browser, you can add bookmarks in your code without
altering the code. Right click on the left vertical bar of the editor and chose
Add Bookmark...
© AMIQ
248
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
Specify a meaningful name:
You can jump to bookmarks from Bookmarks View. Open the view from menu
Window > Show View > Other... > General > Bookmarks.
Go to line
Press Ctrl+L shortcut or double click in the status bar to jump to a specific
line.
Back/
Forward
navigation
You can navigate between editors in a browser like way using the Back/
Forward Navigation
Go to last edit Useful when you navigated around in the code, before proceeding with the
location
source change.Click on Last Edit Location button
© AMIQ
249
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
in the toolbar to jump to the file where you were previously editing.
Searching
Search
for To search for the declaration of a specific type, method, field etc.:
task. function,
field etc.
- Press Ctrl+H to open the Search Dialog
- Click on the Vlog Search tab.
- Type the name in the Search String (if you select in the editor before pressing
Ctrl+H, the Search String is automatically set to the selection).
- Select type or function etc. and Declarations
- Click Search.
Search
for To search where a method (or field etc.) is used, right click on it's name >
references
References > Project. The results are presented in the Search View. You can
also search for references from the Search Dialog (Ctrl+H).
© AMIQ
250
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
Search
for To search for a whole word in all files, in comments or not:
whole word
- Press Ctrl+H to open the Search Dialog
* Click on the VHDL Search tab.
- Type the name in the Search String (if you select in the editor before pressing
Ctrl+H, the Search String is automatically set to the selection).
- Select Whole Word and Do not search in comments or All occurrences
- Click Search.
© AMIQ
251
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
Miscellaneous
All shortcuts Press Ctrl+Shift+L to see all shortcuts.
Project
Properties
© AMIQ
Select the project in the Navigator View, right click and chose Properties. Or
from menu Project > Properties.
252
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
Export
To generate the HTML Documentation click the Export HTML
HTML
Documentation Wizard button in the toolbar.
Documentation
For more details see the Export HTML Documentation chapter.
System
See: Build Configurations
Variables and
-f Support
Generic
You can launch external scripts:
launch (make,
scripts etc.) Menu Run > Run....
Select DVT Generic configuration and click the New button. Specify name,
working directory and command.
Click Run.
External
Builders
© AMIQ
An external builder allows you to invoke any script/tool and back-annotate
its output (errors, warnings etc.) to the source code. Practically it allows you
253
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
to connect any 3d party tool (compiler, linter etc.) to DVT error signaling
engines.You can configure one or more external builders on a project:
- The commands you define will be invoked on project clean, full build and
incremental build.
- The patterns you define will be applied on the command output to recognize
errors, warnings etc.
- The pattern matches will be back-annotated to the source code and presented
in a similar way DVT signals errors (file, line, in the Errors View etc.)DVT
ships with some predefined example configurations to get you started.For more
details see the External Tools->External Builders chapter in VhdlDT User
Guide.
Mapping
Linux
Windows
Linux directories can be mapped to Windows drives in order to access
to them from Windows. For example /home/simi is mapped to Z:\. This has
an impact on paths configured for a DVT project. The paths are set using
Linux conventions, however Eclipse runs in Windows and the DVT builder
needs to know about the mapping in order to compile the files. To specify
the mapping, set the system variable %DVT_CROSSPLATFORM_MAP%
before invoking Eclipse. You can add multiple mappings separated by ";" e.g.: /
projects/=p:\;/home/lars/=Z:\lars\
Recover from In the event of unexpected behavior (missing results in search, types in type
abnormal
browsing, hyperlinks, tooltips etc.) please manually trigger a clean build from
inconsistenciesmenu Project > Clean....
Add a new Go to Window > Preferences > General > Content Types, select a category
file extension from the list (for example VHDL Source File) then click on Add and then on
to compile list Ok.
extensions
Sharing
workspace
settings
Export all Workspace/ Eclipse customization:
- Go to File > Export > General > Preferences
- Make sure Export all is selected
© AMIQ
254
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
- Select a file where the preferences should be exported
Now you can share this file with your team. When it is imported into another
instance of Eclipse (by using File > Import > General > Preferences), the
configuration (all options available in Window >' Preferences') is replaced
by the imported one. Note: you should restart Eclipse for the changes to be
enforced ( File > Restart).
Using System You can use System Variables in the path of linked resources. For
Varibles in example ${DVT_ENV-SYSTEM_VARIABLE_NAME}/work is equivalent
Linked
to $SYSTEM_VARIABLE_NAME/work in a console.
Resources
Waive
You can use Compile Waivers to promote, demote or disable the problems
problems
reported by DVT.
reported by
DVT
To quickly create a new waiver, in the Problems View right click on any
problem reported by DVT and waive it. DVT proposes some default values for
the waiver description, path and message. You can easily change them to finetune the waiver.
To quickly start up a new waivers file click on the Edit waivers button in
the Problems View. The .dvt/waivers.xml is created with a default content and
opened. You can easily create your own waivers from the default generated
ones.
© AMIQ
255
Rev. 3.5.35
DVT VHDL IDE
Chapter 27. Tips and Tricks
www.dvteclipse.com
In the waivers editor you can use autocomplete for tags, attributes and attribute
values.
Open a file in You can use the Command Line Interface like this:
DVT from the
terminal
$> dvt_cli.sh -workspace ~/dvt_workspace openFile $(readlink -f my/file.sv)
The command can be shortened by defining this alias in your ~/.cshrc:
alias dvtopen 'dvt_cli.sh -workspace ~/dvt_workspace openFile `readlink -f \!
*`'
or by defining this function in your ~/.bashrc:
dvtopen () { dvt_cli.sh -workspace ~/dvt_workspace openFile $(readlink -f
$1); }
Then the command gets much shorter:
$> dvtopen my/file.sv
© AMIQ
256
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 28. Q & A
28.1 I am new to Eclipse, where
should I start from?
1. Online from http://www.eclipse.org/documentation/. For example "Eclipse Ganymede
Documentation (HTML Help Center)" is for Eclipse 3.4.The same documentation is
available from Eclipse menu Help > Help Contents.Start with Workbench User Guide
chapters Getting Started and Tasks.Really useful and relaxing is the Tips and Tricks chapter.
2. If you have installed the platform, you can always take a tour from menu Help > Welcome.
3. There is no experience compared with practice, especially for GUI intensive apps.
4. You can browse for more resources in the Eclipse site www.eclipse.org with good articles
and responsive communities available.
5. Be prepared to discover nice functionality all the time. From time to time we recommend
to read tips, tricks or concepts.
28.2 Where can I find DVT Help?
You can access it by Help > Help Contents and Eclipse Help System is opened. The DVT
Help is just another chapter inside Eclipse Help.
28.3 How do I see and configure the
key shortcuts?
Use Ctrl + Shift + L to get the list of all shortcuts.
To configure go to menu Window > Preferences > General > Keys in the Modify tab. From
the Modify tab you can also select the built-in Emacs scheme. Depending on the installed plugins, you may use other Emacs / Vi emulations.
Related plug-ins:
• ETEE [http://eclipseexeditor.sourceforge.net/] for Eclipse Text Editor Enhancements
• Columns 4 Eclipse [http://sourceforge.net/projects/columns4eclipse/] or Column Mode for
Eclipse [http://tkilla.ch/column_mode/] for rectangular selection
• Lunar [http://sourceforge.net/projects/lunar-eclipse/] for editor enhancements
© AMIQ
257
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
28.4 Are there any backup files in
Eclipse?
Right click on a file in the Navigator, from the pop-up menu select Compare With > Local
History. To configure the history go to menu Window > Preferences > General > Workspace
> Local History.
28.5 Workspace in use, cannot launch
eclipse...
Problem: I'm unable to select an existing workspace after my eclipse program that was
accessing it was not shutdown properly. I get a "Workspace in Use" error when there are clearly
no other eclipse instances running on my machine.
Solution: If you are sure there is no eclipse looking at your workspace (not even
another user), then you must remove the lock file located in the workspace at
path_to_workspace/.metadata/.lock.
On Windows, if you cannot delete this file (because another process is using it), then close
all eclipse IDE sessions, do Control-Alt-Delete to bring up Windows Task Manager, select
Processes page, and delete javaw.exe.
28.6 Locking is not possible in the
directory...
Problem: I'm unable to start DVT from a shared location, at launch time I'm receiving an error
"Locking is not possible in the directory..."
Solution: If you are using DVT in a shared installation setup, make sure that the installation
directory is read-only for users.
28.7 How to start DVT Eclipse with a
different eclipse.ini
You might encounter situations in when changing the default eclipse.ini configuration file is
necessary but you don't have write permissions over it. You can pass a different eclipse.ini file
using laucnher.ini argument.
If you use DVT as plugin:
./eclipse --launcher.ini <location>
If you use the prepacked distribution:
© AMIQ
258
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
./dvt.sh -eclipse_args --launcher.ini <location>
28.8 Save could not be completed
You might encounter the following error message while trying to save a file in the DVT editor:
Save could not be completed.
Reason: Some characters cannot be mapped using "CHAR_ENCODING" character encoding.
Either change the encoding or remove the characters that are not supported by the
"CHAR_ENCODING" character encoding.
This means there are other characters than "CHAR_ENCODING" (e.g. ASCII) in the edited
file, most probably introduced by another tool that was used for editing the same file. In order
to locate (and eventually remove) these characters, you can use the following perl command:
perl -nwe 'print if /[^[ :ascii: ]]/' filename
28.9 IBM Clearcase Plugin
• It is not recommended to add new elements as this might result in unexpected behavior
(existing files can be lost/renamed, new files might be created).
• When working over a slow server connection, the Clearcase Plugin might report errors like:
Exception in thread "ClearCaseDialogProgressMechanism" org.eclipse.jface.util.Assert
$AssertionFailedException: Assertion failed: An operation is already in progress.
28.10 libxul.so undefined symbol
In case you encounter an error like the following:
symbol
lookup
error:
gdk_screen_get_resolution
<path-to-xulrunner>/libxul.so:
undefined
symbol:
you should check that the version of xulrunner installed in <path-to-xulrunner> is 1.8.x.
Xulrunner is a library developed by Mozilla and used by the Eclipse platform to display web
content. Unfortunately, the 1.9.x versions are known to have problems integrating with SWT.
After installing xulrunner-1.8.x, there are two ways to tell eclipse where to find it:
1. In the console where you launch eclipse:
setenv LD_LIBRARY_PATH=<NEW-XULRunner-directory-path>
2. Add the following line:
-Dorg.eclipse.swt.browser.XULRunnerPath=<NEW-XULRunner-directory-path>
in the " dvt_eclipse_directory/eclipse/eclipse.ini" file after " '-vmargs' " line
© AMIQ
259
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
where <NEW-XULRunner-directory-path> denotes the location of the newly installed
xulrunner.
28.11 How to use Working Sets
for filtering Problems/Task/Search
views?
First of all, in general you can customize the contents of the Problems/Tasks/Search views by
using the View Menu > Configure contents.
To see only the issues/tasks related to "your own code", you must first tell Eclipse what "your
own code" means, and this can be achieved by using Working Sets.
For easier access to Working Sets related commands, you should first enable two command
groups: go to Window > Customize Perspective > Command Groups Availability, and from
the Available Command Groups list on the left select Window Working Set and Working
Set Manipulation.
Now, there should be three new buttons in the Eclipse toolbar that allow you to select/deselect
current working sets and add/remove resources from existing working sets.
1. Modify workbench working sets
2. Add the selected elements to a working set
© AMIQ
260
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
3. Remove the selected elements from a working set
Using the add/remove buttons you can craft one or more Working Sets to contain various
sets of resources (i.e. files/folders). If you haven't created any working sets before you will be
prompted to create a new one. Then, using the ' Modify Workbench Working Set ' button you
can select several sets of resources form the ' Current Working Set '.
Finally, to achieve the Problems View/Tasks View filtering you require,you should create a
filter ( View Menu > Configure contents > New) with the Scope set to ' On Working Set:
Window Working Set '. With this filter activated, the Tasks and Problems views will only
show the errors that are contained in the sets selected from the toolbar dropdown.
© AMIQ
261
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
28.12 How can I do an incremental
textual search in any view?
DVT distributions contain a plugin called Glance that can search incrementally in any view.
Just select the view and press Ctrl+Alt+F to activate the search bar and start searching for text.
28.13 How do I Access Files Outside
Project Dir - Working with Linked
Resources
In order to see the contents of some directory on your disk, you must create an Eclipse project
in that directory (see also What is a Project ).
If your project is spread across multiple directories without a reasonable common root or
if you need to access files related to your project, but not located in the project directory
, you can open them from menu File > Open File.... If the file is outside any project in your
workspace, the editor will open and the tab icon will be grayed.
For example if you have a single project xbusonly in your workspace located in /ovm/
examples/xbus that includes files from /ovm/src and you open ovm.vhdl (for example via a
hyperlink from the include directive) the editor tab will look like this:
The same will happen if you jump to a definition located in the /ovm/src directory.
© AMIQ
262
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
The functionality in "gray iconed" editors is limited (no hyperlinks etc.).
NOTE: This "capability" serves as an alarm that you are out of your project scope and avoid
touching the files. But if you are just navigating in order to understand the world around your
project (module), limited functionality it's not what you want.
Solution 1. Create the project in a "root directory" that contains all directories with
relevant files (or emulate)
This is a simplistic solution. Besides additional relevant files, it is most likely to get in a lot of
unrelated files and also slow the platform.
An alternative is to create a special "root" directory with file system links to each directory
whose contents you must access. Then create an Eclipse project in the "root". It requires changes
to disk (links) just to work with Eclipse, and it may not be acceptable.
Solution 2. Create a project in each relevant directory
This solution might work for you. In the example above, it is most probable that a project is
already defined for ex_atm.
But if a project is just spread in multiple directories without a common root and each directory
it's not really a separated project, it will be cumbersome to have my_p__dir_1, my_p__dir_2
projects.
Solution 3. Linked Resources
Chose one "main" directory to locate the project and create linked resources from it to other
relevant external directories.
Linked resources are very similar with file system links, except they are registered in the
.project file, not created on the disk. For more details see Linked Resources.
Full functionality is available for files accessible via linked resources.
Linked Resources
What is a Project
What is a Workspace
28.14 Mapping Linux to Windows (/
proj/ to Z:\proj\)
Linux directories can be mapped to Windows drives in order to access them from Windows.
For example /home/simi is mapped to Z:\. This has an impact on paths configured for a DVT
© AMIQ
263
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
project. The paths are set using Linux conventions, however Eclipse runs in Windows and the
DVT builder needs to know about the mapping in order to compile the files.
To specify the mapping, set the system variable %DVT_CROSSPLATFORM_MAP%
before invoking Eclipse. You can add multiple mappings separated by ";" e.g.:
/projects/=p:\;/home/lars/=Z:\lars\
NOTE: Please do not put any mapping of type /=\, we are handling this automatically.
28.15 Subversive vs Subclipse
Subversive does not automatically recognize svn projects while Sublicpse does.
28.16 How do I associate a project
with both DVT and CDT?
To associate a project or remove the aasociation of a project with DVT or CDT:
Just right-click on the project and chose Change DVT Nature. The dialog allows you to associate
or remove the association with SystemVerilog, VHDL, e Language and C/C++.
The C/C++ language appears only when CDT and DVT CDT Support features are installed.
Alternatively, C/C++ associatioan can be achieved using:
File > New > Other and select C/C++ > Convert to a C/C++ project.
28.17 Can I use vi/vim along with
DVT?
DVT contains ViPlugin OEM ( http://www.viplugin.com/viplugin/index.php/viplugin) for vi
emulation. To use it download a prepacked version of DVT or install viPlugin for DVT feature
from DVT Update Site.
Below you can find a list with other vi emulation plugins for Eclipse:
1. http://vrapper.sourceforge.net/home/
• free
• easy install from update site
• has some basic vi commands that work in editors
• DVT editors work perfect with it
2. http://eclim.org/
© AMIQ
264
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
• free
• hard to install
• integrates Eclipse in vi or vi in Eclipse (it has many modes)
• has not been tested extensively with DVT
3. http://vimplugin.org/
• free
• easy to install from update site, but requires needs JDT (Java Development Tools) installed
in eclipse and gvim in os
• it replaces editor window in eclipse with gvim window, therefore no DVT editor feature is
preserved
28.18 Can I perform dos2unix or
unix2dos from DVT?
Yes, you can access this built-in functionality from File > Convert line delimiters > <desired
format>.
Depending on the focus, the conversion is performed either for the current editor or for the files
selected in the navigator view.
28.19 How can I configure Eclipse to
use a local CVS repository?
1. Create a shell script with the contents below somewhere on disk and make it executable.
2. In Eclipse, go to the CVS preference page (Window > Preferences > Team > CVS > Ext
Connection Method)
• Select "Use an external program to connect"
• For "CVS_RSH" enter the path to the script you just created
• For "Parameters" enter a whitespace (won't work if left empty)
• For "CVS_SERVER" you should have "cvs"
3. Add a new CVS repository location in Eclipse (File > New > Other > CVS > CVS Repository
Location)
• For "Host" enter "localhost"
© AMIQ
265
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
• For "Repository path" enter the local absolute path to your repository
• For user and password you can enter anything (will not be taken into account)
• For connection type select "ext"
At this point the repository you've just created should be functional in Eclipse. You can checkout
a module to see that everything is OK. In order to make cvs work in the command line as well
(with projects checked out from Eclipse) you have to set the system variable CVS_RSH to point
to the script and CVSROOT to the the local absolute path to your repository.
Script content
#!/bin/sh
if [ "$1" != "cvs" ]; then
# Remove -l {user} {host}
shift
shift
shift
fi
exec "$@"
28.20 I am using the Common
Desktop Environment via Citrix and
experiencing crashes. What can I do?
This seems to be a problem related to running Eclipse under CDE via Citrix. Try changing CDE
to another Desktop Environment, like the Java Desktop System (JDS).
28.21 How do I change the
background color of the Editor?
Go to Window > Preferences, then navigate to General > Editors > Text Editors. In the panel
on the right, from the Appearance color options list select Background color, then use the color
picker to chose the desired color (the System default checkbox must be unchecked).
28.22 How do I change the color of
the interface?
If you are using the linux distribution of DVT you can change these colors by going to Window
> Preferences, then navigate to DVT > GTK Theme. This will overwrite the GTK theme of
your system just for DVT when you start it using a distribution script.
© AMIQ
266
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
After applying a theme a restart is required.
For Windows and MacOS users it is not possible to define an application theme, so the only
workaround is to change your system theme to the desired colors.
28.23 How to apply the dark color
theme or other themes?
If you want to change the color for all the editors and the interface you can use the DVT
Themes feature. Go to Window > Preferences, then navigate to DVT > DVT Theme and select
a predefined theme or import a theme file.
To use dark colors you can select the Dark predefined theme.
After applying a theme a restart is required.
This theme will apply on the selected editors and also to GTK if you're using Linux or Solaris
distributions. Keep in mind that applying a theme will overwrite the color preferences for the
selected editors.
28.24 How do I change the tooltip
colors?
If you want to change the tooltip colors and GTK Themes are not available (Windows, MacOS)
then you can use Preferences > General > Appearance > Colors and Fonts > DVT > Tooltips
and for content assist Preferences > General > Appearance > Colors and Fonts > Basic'
28.25 How do I change Internet Proxy
Settings?
If you want to change the proxy settings go to Window > Preferences > General > Network
Connections
© AMIQ
267
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
Active Provider - Specifies the settings profile to be used when opening connections. Choosing
the Direct provider causes all the connections to be opened without the use of a proxy server.
Selecting Manual causes settings defined in Eclipse to be used. On some platforms there is also
a Native provider available, selecting this one causes settings that were discovered in the OS
to be used.
Proxy entries - The table displays entries that are available for all providers. Checkboxes in
the first column of the table indicate entries to be used for the currently selected provider.
Proxy bypass - Use this table to specify the hosts that should not use any proxy, either by name
or pattern. A direct connection will always be used for matching hosts. Checkboxes in the first
column of the table indicate entries to be used for the currently selected provider.
When using Manual proxy provider there are three predefined schemas to set settings for:
HTTP, HTTPS and SOCKS. Configuration for each schema is displayed in the Proxy entries
table. To edit settings for a particular schema double-click the entry or select the entry and click
Edit... button. If Port field is left blank default port number will be used: (HTTP - 80, SSL
- 443, SOCKS- 1080).
28.26 Eclipse does not start, there is
no Workspace, metadata or log file
created
A possible cause for this could be the lack of access rights to all, part or one of the files under
$DVT_HOME.
Solution:
© AMIQ
268
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
• check the log in the ~/user'shome/.eclipse/org.eclipse.platform_/configuration/.log and
see what is the file that can not be accessed
• make sure that you have rx rights on all files & folders under $DVT_HOME
28.27 Workspace permissions
A possible solution for the following errors (or similar issues) is to add write permission for
the Workspace you are currently using and all files inside it.
Keywords: unable to save, failed to write, ResourceException, unable to store;
© AMIQ
269
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
28.28 How to install our server as a
service in Windows?
To start the server in background you can use a freeware tool named hstart that can run
commands without using a terminal.
You can download it from here: http://www.ntwind.com/download/hstart.zip
The archive contains two files: hstart.exe and hstart64.exe. Use the one appropriate for your
Windows (32bit or 64bit).
Assuming that hstart.exe, the license file and dvt_server_1.9.jar are in the same location you
can create a batch file, named for example start_dvt_server.bat with the following content:
hstart.exe /NOCONSOLE "java -jar dvt_server_1.9.jar your_license_file"
When you run the script, the server will start in background with no console attached.
To stop the service you can use the dvt_utils.jar tool or you can stop it from Windows Task
Manager.
28.29 How do I link mylyn with
Bugzilla?
It works like this (if mylyn is installed):
In the editor, comments that include text of the form bug#123 or task#123 or bug 123 will be
hyperlinked. Ctrl+clicking on this text will open the task or bug in the rich task editor.
To support hyperlinks within other text editors such as code or .txt files, the project that contains
the file must be associated with a particular task repository. This is configured by right-clicking
on the project and navigating to Properties > Task Repository and selecting the task
repository used when working with this project.
28.30 How do I print source code?
For black and white printing you can use enscript - if it is available on your platform.
Go to Run > External Tools > External Tools Configurations… and follow the next steps:
© AMIQ
270
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
1. Create a new Launch Configuration
2. enscript location (you can use which enscript command to get its path)
3. enscript arguments
4. Apply > Run
The above enscript arguments ( '-2rT4v -DDuplex:true -dPhotosmart_C5100') used in this
example mean: 2 = 2 columns on page,r = landscape, T4 = tab size 4, v = verbose,
Photosmart_C5110 = a printer name
See also "man enscript" (in a Unix/Linux console).
For color printing, you can copy/paste into Word / Open Office. The highlight is preserved.
You can customize fonts / preview etc. in office tools.
© AMIQ
271
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
28.31 How do I disable Eclipse
Software Sites?
Eclipse contacts all Update Sites even if the option is un-checked ( Help > Install New
Software... > Contact all update sites during install to find required software). To disable
update sites querying, go to Window > Preferences > Install/Update > Available Software
Sites and unselect all the references to software sites in that list.
28.32 How do I revert to a previous
version?
In case you have updated DVT Eclipse and you want to go back to a previous installation
checkpoint you can do that using: Help > About Eclipse > Installation Details > Installation
History.
Using this page you can select a previous configuration and inspect the installed plugins and
versions. If you decide to go back to one of the old configurations just select it an click Revert.
NOTE: Sometimes Eclipse might need the update site for the plugins involved in the revert
operation, to add them go to Window > Preferences > Install/Update > Available Software
Sites.
© AMIQ
272
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
28.33 What are the most common
shortcuts in DVT?
If you type Ctrl + Shift + L a list with all available Eclipse shortcuts will pop-up.
For more information: Common Shortcuts
28.34 How does DVT integrate with
CVS?
Get the CVS plugin: The simplest way is to install DVT from a prepacked distribution that
includes the CVS plugin for Eclipse. For an Eclipse installation that does not include the CVS
plugin: go to Help > Install New Software, select Work With: All Available Sites then type
CVS in the filter text input. After filtering is done, you should select Eclipse CVS Client under
Collaboration, and follow the next steps of the wizard.
Configure the CVS repository: After the plug-in is installed, create a repository connection:
Window > Open Perspective > Other, then select CVS Repository Exploring. Now, in the
CVS Repositories view on the left side right click > New > Repository Location and fill in
the connection information. After this step is completed successfully you can browse your
repository and check out projects, or (by returning to the e Language Perspective) you should
find in the Navigator View that the previously checked out projects are now recognized as
shared projects. If you right click on a file/directory in the Navigator View, you should have
common operations under the Team menu ( Update/Commit/Show history etc).
28.35 How to set an environment
variable within a Run Configuration?
More details here
28.36 How to run a remote Unix
command from DVT Eclipse for
Windows?
Presuming that you use ssh or telnet to connect to the unix environment you can use a putty
tool to do this. The name of the command is plink.exe [http://www.chiark.greenend.org.uk/
~sgtatham/putty/download.html] and it can be considered the analog of ssh for Windows.
You can use the plink.exe command with the DVT Generic Launch Configuration.
© AMIQ
273
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
More information about how to use plink.exe can be found here http://the.earth.li/~sgtatham/
putty/0.61/htmldoc/Chapter7.html#plink. There is also a sub chapter about how to use plink
unattended (it won't require any interaction like user or password input).
28.37 Rebuild shortcut (Ctrl + Alt + R)
does not work
If 'Ctrl + Alt + R' does not trigger a rebuild, you can change it from Windows > Preferences
> General > Keys > select 'Default' scheme > search for 'Rebuild Project' > change the
binding > OK
28.38 Sometimes I experience DVT
GUI hangs, what should I do?
When you experience GUI hangs please follow the next steps in order to provide us some
valuable debug information about your situation:
• While the GUI is hanged, run the following command
$DVT_HOME/bin/dvt_debug_utils.sh -workspace /path/to/dvt_workspace -thread_dump -nof_kills 60
© AMIQ
274
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
• When the command above is done (in ~1 minute), it prints the path to the log file it has
generated, like this:
DVT log file is: /tmp/dvt_log_<pid#>
• Send us the generated log along with a brief description of the activities you were performing
in DVT when the hang occured (like for example creating a New Project, invoking the
Content Assist, maximizing a view, etc.).
28.39 Sometimes I experience DVT
GUI hangs when switching from
another X application to DVT
In some GTK/X versions, when switching from various X applications to DVT, you might
experience unresponsive UI for various periods of time (from tens of seconds up to complete
hangs). This behavior has its roots in the way the respective applications, X and GTK manage
the System Clipboard.
First off, you should make sure you are running a recent GTK version. If it's not possible to
update your GTK / if the problem persists when running with the newest GTK available for
you, this section covers an alternative solution.
To confirm that you are affected by this problem, follow the steps in this section in order to
generate a debug information file (in the example: ~/dvt_threads.dump) and in addition, run
the following command:
$> grep gtk_clipboard_wait_for_contents ~/dvt_threads.dump 2>&1 1>/dev/null && echo "Yes" || echo "No"
If the grep result is No you are probably not affected by this specific issue, so we recommend
sending us the ~/dvt_threads.dump file in order to furhter investigate the problem.
If the grep result is Yes you can fix the problem by patching your Eclipse installation. For
patching, DVT must be installed from a prepacked distribution. Follow the steps below:
• Suppose your DVT Eclipse installation directory is $DVT_HOME. First make a backup of
the file to be replaced:
$> mv $DVT_HOME/eclipse/plugins/org.eclipse.swt.gtk.<os>.<arch>_<version>.jar $DVT_HOME/eclipse/
where <os>, <arch> and <version> are specific to your system & installation.
• Then copy the patched jar file:
$> cp $DVT_HOME/misc/patch/org.eclipse.swt.gtk.<os>.<arch>_<version>.jar $DVT_HOME/eclipse/plugi
• Restart DVT. You should not experience any more hangs.
© AMIQ
275
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
NOTE In some cases it was reported that although the patch eliminated long GUI lagging/
hangs, it introduced some minor lags when changing the file selection in the navigator. If this
is your case, you should set the following environment variable:
$> setenv DVT_SWT_CLIPBOARD_PATCH_TEXT_ONLY_MODE true
before launching DVT. Navigator selection will work smoothly again. The only drawback is
that you won't be able to paste files directly in the Navigator view.
28.40 I want to use an alias in a DVT
Generic Run Configuration, but it's
not recognized
More details here
28.41 How to set multiple paths as
sources of predefined projects ?
You can set an environment variable starting with "DVT_PREDEFINED_PROJECTS_EXT_"
for each directory that contains predefined projects.
For example, if there are two directories - let's say dir1 & dir2, you must create two environment
variables pointing to them:
• $DVT_PREDEFINED_PROJECTS_EXT_1 -> dir1
• $DVT_PREDEFINED_PROJECTS_EXT_2 -> dir2
Note 1: Each environment variable must point to only one directory that can store any number
of projects Note 2: Avoid duplicate projects in different directories
28.42 Lines are suddenly changing
indentation when I edit text or move
the cursor through the editor.
This might happen if you don't use a monospaced font ( e.g: Courier ). To change the editor font:
1. Go to Window > Preferences.
2. From here go to: General > Appearance > Colors and Fonts.
© AMIQ
276
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
3. In the window on the right side choose: VHDL Language > Editor > VHDL Language Text
Font
4. Press Edit and check that the font you are using is monospaced. If it isn't, choose one from
the list ( ex: Courier, Monospace).
5. Ok > Apply
28.43 How to change the directory
where the build log file is saved ?
Open the active .build file under the .dvt diredctory (e.g. .dvt/default.build) and add these flags:
+dvt_build_log_to_file+true/false
+dvt_build_log_file_location+path/to/folder (use "." for project's root)
28.44 How to find the DVT logs on
Linux/Unix ?
If you run DVT with dvt.sh:
• To print the logs location go to the workspace dir and:
$ dvt_debug_utils.sh
• To dump the threads of a running DVT go to the workspace dir and:
$ dvt_debug_utils.sh -thread_dump
Other logs are in the <path_to_workspace>/.metadata folder.
28.45 How to create resource filters ?
Right click on a project > Properties > Verilog Language > Resource Filters. From this
wizard you can select what resources to exclude from the selected project. By default it only
shows 50 children for each directory. If a directory contains more than 50 children you are not
allowed to filter its content. You can modify this limit, globally, from Maximum number of
children for each directory or by right-clicking on a directory and selecting Show more files.
There is also a Timeout option if the project's resources are located on remote computers and
the network lag may slow down the platform. The wizard will display only those children (files/
folders) that were scanned before the timeout is reached.
© AMIQ
277
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
WARNING: DVT Resource Filters are not fully compatible with Eclipse's filters. If you
already use standard platform's filters, it is recommended to disable them before applying DVT
filters.
NOTE: Linked-Resources (project's resources linked to file system directories) cannot be
filtered; you can only filter their children.
28.46 How to create custom shortcut
and button for a Run Configuration?
More details here
28.47 I know that file.foo is present in
the project location, but I can't see it
in the Navigator View
Check if there is a Navigator filter enabled preventing the file from being displayed. Bring
down the Navigator View Menu and select 'Filters':
© AMIQ
278
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
Make sure that no pattern in the list matches the name of the file (like for example *.foo).
28.48 How to copy the full path to the
file in the current editor?
Right click in the current editor > Copy Full Path.
You can also assign it a shortcut: go to Window > Preferences > General > Keys (or press
twice ctrl + shift + L ) and assign a shortcut to Copy Full Path. It's a global shortcut, you
can call it from anywhere but only the active editor's input will be considered (or the current
selection in the navigator if you call it when the navigator view is active e.g. after you select
a file).
28.49 How to adjust the console logs
filters matching parameters?
Go to: Run > Run Configurations... > select a run configuration > open Filters tab. Here
you can adjust how many characters per line (between 1-999, default 256) and how many
consecutive lines (between 1-99, default 8) can be matched by a filter. These limitations prevent
inifinite recursive matching if a log message does not follow a standard pattern or it is too long.
28.50 When I switch to Block
(Column) Selection mode the font
changes
Please make sure the Text Font and the Text Editor Block Selection Font are the same:
• go to General > Appearance > Colors and Fonts
© AMIQ
279
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
• in the list on the right, under the Basic category you should see
• Text Font
• Text Editor Block Selection Font
• The fonts should be the same
28.51 In Block (Column) Selection
mode I see strange editng artifacts
Please make sure the Text Editor Block Selection Font is a monospaced font:
• go to General > Appearance > Colors and Fonts
• in the list on the right, under the Basic category you should see Text Editor Block Selection
Font
• The font should be monospaced
28.52 How to modify the font size in
the code editors?
You can increase/decrease the font size in code editors using these buttons, on the main toolbar:
You can can also modify the font settings from Window > Preference > General >
Appearance > Colors and Fonts. For global settings (used by all editors), select Basic > Text
Font and for editor specific settings, select (e , Verilog, VHDL) Language > Editor > Text
Font.
© AMIQ
280
Rev. 3.5.35
DVT VHDL IDE
© AMIQ
Chapter 28. Q & A
281
www.dvteclipse.com
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
28.53 How to automatically checkout/
lock files from the revision control
system ?
Let's suppose your project is tracked by a revision control system, for example Perforce,
DesignSync or Clearcase, that keeps non checked out files read-only. In this scenario, you can
instruct DVT to perform some actions on any read-only file that gets modified by direct editing
or by refactoring:
1. Create a new run configuration, named DVT_CHECKOUT_HOOK.
2. In the newly created run configuration, add any script or command you wish to be performed
on the read-only files that get modified. The list of files is in ${selected_resources_loc}
variable, by default separated by colon (:). You can use custom separators. See the examples
below, supposing the list of files is: file1.e, file2.sv, file3.vhdl.
• ${selected_resources_loc} would expand to file1.e:file2.sv:file3.vhdl
• ${selected_resources_loc: } would expand to file1.e file2.sv file3.vhdl
• ${selected_resources_loc: >> } would expand to file1.e >> file2.sv >> file3.vhdl
3. You can now use the DVT_CHECKOUT_HOOK run configuration in two ways:
• simply start to modify a read-only file and it will get triggered automatically
• select
some
files
(in
the
Navigator)
and
manually
launch
the
"DVT_CHECKOUT_HOOK" run configuration; note that you can map the run
configuration to a toolbar button (see Custom Shortcut and Button for a Run
Configuration)
Also, you can disable the checkout confirmation by inserting the following
attribute in the DVT_CHECKOUT_HOOK run configuration file: <booleanAttribute
key="ro.amiq.dvt.launch.REQUIRE_CHECKOUT_CONFIRMATION" value="false"/>
28.54 How can I see if a file is readonly?
To enable read-only decorators for Navigator(1), Editor(2) and Refactoring Preview(3) go to:
Window > Preferences > DVT and select the Show read-only decorators checkbox.
© AMIQ
282
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
28.55 How can I open a file in DVT
from the terminal?
You can use the Command Line Interface like this:
$> dvt_cli.sh -workspace ~/dvt_workspace openFile $(readlink -f my/file.sv)
The command can be shortened by defining this alias in your ~/.cshrc:
alias dvtopen 'dvt_cli.sh -workspace ~/dvt_workspace openFile `readlink -f \!*`'
or by defining this function in your ~/.bashrc:
dvtopen () { dvt_cli.sh -workspace ~/dvt_workspace openFile $(readlink -f $1); }
Then the command gets much shorter:
$> dvtopen my/file.sv
28.56 How do I change the name of
the xterm opened by a DVT Generic
Run Configuration?
At the beginning of your script/command insert these commands:
© AMIQ
283
Rev. 3.5.35
DVT VHDL IDE
Chapter 28. Q & A
www.dvteclipse.com
echo -ne "\033]0;YOUR_WINDOW_TITLE_HERE\007"
echo -ne "\033]1;YOUR_TASKBAR_TITLE_HERE\007"
© AMIQ
284
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 29. What is New?
#.# - major version - Includes new features, major enhancements, architectural changes, bug fixes.
#.#.# - minor version - Includes bug fixes, minor enhancements.
3.5.35 (30 January 2015)
Features
• DVT-6402 "Change DVT nature" allows adding the C/C++ nature when CDT is available
• DVT-6954 Switch between eclipse, vi and emacs editor modes using shortcut or toolbar
button
Enhancements
• DVT-5953 vi mode state should be preserved between workspaces
• DVT-6365 Automatically set the key scheme for vi plugin when vi mode is enabled
• DVT-6397 Show vi command line under the editor instead of the status bar
• DVT-6455 Show a larger vi command line
Bugfixes
• DVT-6515 Incorrect pop-up message from Trace Connections from Editor when the Design
Hierarchy view is updating
• DVT-6812 Incorrect pop-up message from Trace Connections From Editor when the Design
Hierarchy view is filtered
• DVT-6949 False UNDECLARED_IDENTIFIER error when System Verilog struct elements
are accessed from a VHDL architecture
• DVT-6950 Wrong NON_EXISTING_TYPE error on package instantiation type access
• DVT-6960 External builder multi-line errors/warnings are not added to the Problems View
on Windows
• DVT-6966 False UNDECLARED_IDENTIFIER error when accessing a package from
another library named 'work'
• DVT-6967 Trace Connections view is not properly cleaned after canceling a trace operation
• DVT-7000 Build config: next word after -mvchome is considered a top file instead of a
directive argument
• DVT-7003 "Show Diagram" not working for architectures
© AMIQ
285
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
3.5.34 (16 January 2015)
Enhancements
• DVT-6726 Semantic support for PSL vunit and vunit member constructs
• DVT-6936 Semantic support for physical type units
• DVT-6948 Questa multi-line errors/warnings are not matched correctly by predefined
console log filters
Bugfixes
• DVT-5377 Paths don't resolve correctly on Windows in wizards
• DVT-6961 Wrong hover when an entity an an enum element have the same name
3.5.33 (12 January 2015)
Enhancements
• DVT-6679 Ability to copy element name in views
• DVT-3463 & DVT-3602 & DVT-5673 & DVT-5812 & DVT-6031 Add unified context
menu to all views
Bugfixes
• DVT-6925 False UNDECLARED_IDENTIFIER error when a record member is accessed
on a type
• DVT-6926 False UNDECLARED_LIBRARY error on incremental build
• DVT-6928 Search for text should look into all compiled files regardless of their content type
• DVT-6944 Types View Members label is not cleared when changing project
3.5.32 (18 December 2014)
Enhancements
• DVT-4498 Enclose selected text when typing bracket or quote or begin/end
• DVT-5731 Add collapse/expand capability for "when" construct
Bugfixes
• DVT-6580 Eclipse 4: Tool Bar Customization / Dynamic Launch Configuration Toolbar
category is showing icons from every toolbar refresh
• DVT-6581 Eclipse 4: Commands for Dynamic Launch Configurations are persisted after the
launch configuration is deleted
© AMIQ
286
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-6740 Wrong UNDECLARED IDENTIFIER for SV packages under common library
in VHDL file
• DVT-6796 Wrong indexing of pointers
• DVT-6810 False UNDECLARED_IDENTIFIER semantic error on mixed select access
• DVT-6863 Hyperlinks and autocomplete not working for types in vhdl function/procedure
signatures
• DVT-6909 Wrong auto-indentation when adding new line immediately before a string
• DVT-6915 Search for references should look into all compiled files regardless of their
content type
• DVT-6918 Refactoring should be performed into all compiled files regardless of their content
type
3.5.31 (5 December 2014)
Bugfixes
• DVT-6603 Eclipse 4: Build toolbar should resize on large build names instead of displaying
a drop-down
• DVT-6662 Eclipse 4: Updated ViPlugin for DVT to 2.13.1 (fixes for Eclipse 4)
• DVT-6668 Code formatting fails for generic type without semi before closing paren
• DVT-6720 Code formatting fails for procedure/function/package "is new" construct
• DVT-6883 ViPlugin: Fixed "invalid stream header" error and some NullPointerExceptions
• DVT-6885 New DVT File Wizard doesn't allow selecting the directory in the DVT AutoLinked hierarchy
• DVT-6893 Auto-instance not working when the initial value of a generic specifies a unit of
measure
• DVT-6894 New DVT File Wizard doesn't recognize paths on shared partitions
• DVT-6896 DVT Editor line delimiter should be set by the "New text file delimiter"
workspace and project preferences
3.5.30 (28 November 2014)
Features
• DVT-3222 Ability to create a project from template using dvt_cli.sh
Enhancements
© AMIQ
287
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-6027 Add capability to use commands to open custom hyper links created by run
configuration filters
• DVT-6873 Add +dvt_env_no_override build directive
Bugfixes
• DVT-6872 Build log file is not automatically refreshed if it resides inside the workspace
3.5.29 (21 November 2014)
Enhancements
• DVT-6832 Improved error recovery on missing semicolon
Bugfixes
• DVT-6794 Wrong auto-completion while instantiation of generic procedure
• DVT-6798 No auto-complete of generic identifiers within declaration of generic procedure
• DVT-6799 Incomplete mouse-over description of aliases
• DVT-6824
Eclipse
4:
NullPointerException
in
ContentMergeViewer
$ContentMergeViewerLayout.layout (patch for Eclipse Luna 4.4.1, Eclipse Bug 348429)
• DVT-6841 Content assist is very slow in some cases when more than 100k proposals
3.5.28 (16 November 2014)
Enhancements
• DVT-5743 Add expand all in current scope to code folding
• DVT-6028 Match Questa errors and invoke "verror" tool to open them
• DVT-6800 Added PSL highlight, hyperlinks and content assist support in comments
Bugfixes
• DVT-6795 No auto-completion while writing the invocation of an instance of the generic
procedure
• DVT-6797 False semantic error when using aliases for procedures
• DVT-6825 Missing autocomplete after open parenthesis
• DVT-6826 Using many Auto-Linked roots results in "Value is too long" error
• DVT-6829 Double-click in views to open editor not working after project restore
3.5.27 (7 November 2014)
© AMIQ
288
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Enhancements
• DVT-6774 Code Formatting: Ability to vertically align to open parenthesis
• DVT-6777 Added DUPLICATE_WHEN_CHOICE, MISSING_ENUM_CHOICE,
MISSING_OTHERS_CHOICE,
OTHERS_CHOICE_USED,
REDUNDANT_OTHERS_CHOICE, INCONSISTENT_CHOICES semantic checks
• DVT-6783 Ability to customize run configurations console title according to the output of
the process
• DVT-6801 Slow post full build semantic resolve configurations phase in mixed
SystemVerilog/VHDL mode
Bugfixes
• DVT-6765 Sometimes dictionary save fails at platform shutdown
• DVT-6778 "Conflicting handlers" log entry for each run configuration button
• DVT-6781
DVT
crashes
after
CentOS
and
RHEL
updates
with
"_cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed" (fixed in
distributions)
• DVT-6782 dvt.sh -eclipse_args doesn't work with -vmargs
• DVT-6788 Suppress "First launcher.execute()" messages from ClearCase plugin (patch for
distro)
• DVT-6789 False UNDECLARED_IDENTIFIER semantic error on array selection using 2
or more indexes
3.5.26 (31 October 2014)
Enhancements
• DVT-4964 Code Formatting: Ability to specify a list of operators that must be surrounded
by space
• DVT-5420 Ability to trim trailing whitespace on save (Preferences -> General -> Editors > AnyEdit Tools)
• DVT-5832 Disabled incremental build should also disable views updates
• DVT-6029 Support for URL hyper-links in run configuration filters
• DVT-6241 Ability to customize run configurations console title
• DVT-6766 Specador: Use new HTML look & feel by default
• DVT-6773 Added AnyEdit plugin in all distributions and updated CLEARCASE,
PERFORCE, PERL and PYTHON plugins
© AMIQ
289
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Bugfixes
• DVT-5768 Wrong signal declaration on second auto-instance
• DVT-6030 Run configuration filters of type NOTE not working when ${line} is not used
inside pattern
• DVT-6148 Dynamic run configuration buttons should be filtered by working sets
• DVT-6462 +dvt_incremental_compile_max_lines not taken into account by semantic
checking
• DVT-6613 Auto-instance should not generate duplicate signals
• DVT-6685 False UNDECLARED_IDENTIFIER error on record elements
3.5.25 (23 October 2014)
Enhancements
• DVT-6431 Specador: Added architecture instances and sub-instances
Bugfixes
• DVT-6083 Autocomplete shows no valid proposals for "use a." where "a" is a library
• DVT-6725 Project Statistics yields all metrics zero when full build option is checked
• DVT-6699 Use clause inside a package declaration doesn't work properly
• DVT-6701 False semantic error on subprogram instantiation declaration
• DVT-6728 After restart with multiple windows opened, rebuild buttons only show on main
window
3.5.24 (10 October 2014)
Enhancements
• DVT-6704 Auto-complete window does not remember the width and height between
invocations
Bugfixes
• DVT-5548 Setting a template as auto-insertable doesn't work
• DVT-6700 Waive Problem from Problems View context menu does not escape less than <
greater than > and quote " characters
• DVT-6702 False UNDECLARED_TYPE semantic error on alias
Bugfixes
© AMIQ
290
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-6719 Added XULRunner library in Linux distributions to avoid crashes when the
internal browser starts on old systems
3.5.23 (2 October 2014)
Bugfixes
• DVT-5132 No autocomplete and hyperlink on hierarchical access
• DVT-6479 No build after CLI createProject on a project that was previously deleted
• DVT-6604 Eclipse 4: Settings management eclipse.ini merger doesn't support case sensitive
arguments
• DVT-6635 The Design Hierarchy View text filter is cleared after rebuilt
• DVT-6641 Quoted arguments of dvt_cli.sh -<name>.build are not handled correctly
• DVT-6643 Non-deterministic build config errors on large build configurations of mixedlanguage projects
• DVT-6644 Wait for clipboard contents hangs (Eclipse Bug 241957 patch)
• DVT-6657 DVT CLI does not accept DVT as argument of -perspective option
• DVT-6667 False UNDECLARED_IDENTIFIER error on generic incomplete types
• DVT-6669 Editor preferences for autocomplete not working
• DVT-6672 False UNDECLARED_IDENTIFIER error on generic interface object used in a
procedure argument
• DVT-6681 When DVT_USER_SETTINGS or DVT_COMMON_SETTINGS point to a
location inside a project no links are created in DVT-Settings project
3.5.22 (9 September 2014)
Features
• DVT-6377 Ability to specify current build configuration name and content by dvt_cli.sh
Enhancements
• DVT-4767 Example Makefile.dvt for a predefined project
• DVT-4911 Run configurations: improve error handling and visibility of project / working
dir resolution
Bugfixes
• DVT-6633 Trace Connections should be case-insensitive to port names
© AMIQ
291
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
3.5.21 (3 September 2014)
Enhancements
• DVT-6026 Ability to specify path to Custom Dialog swtxml as relative to the location of
the run configuration
Bugfixes
• DVT-4149 Don't jump to files from other projects when double-click in views
• DVT-4835 Wrong autocomplete in empty VHDL source file
• DVT-5179 Current scope indication is wrong inside action block inside process
• DVT-5323 Build configurations are not correctly parsed when -ncelabargs is encountered
• DVT-6357 Compile waivers don't work for problems whose description contains newlines
• DVT-6601 When creating a content_filters.xml views are not refreshed
• DVT-6620 Search view quick search is shown at the bottom of the view instead of the top
3.5.20 (28 August 2014)
Features
• DVT-5000 Add 'show usages' hyperlink entry
Enhancements
• DVT-6609 Preload the IEEE, STD, etc. libraries before incremental compile
• DVT-6612 Members sorting in Types/Verification Hierarcy Views is unstable
3.5.19 (21 August 2014)
Features
• DVT-6592 Ability to browse and search type members in Types View
Enhancements
• DVT-4050 Add -perspective switch to dvt_cli.sh importProject
• DVT-5255 In dvt and ius.irun compatibility modes .pslvhdl extension should be mapped to
VHDL Language Syntax
• DVT-5418 Ability to specify prefixes that trigger autocomplete
• DVT-6051 Hierarchical search in Types View
• DVT-6158 Cross-platform Quick Search clear button
© AMIQ
292
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-6587 Automatically show Types Members view and select first match when search
string includes dot
Bugfixes
• DVT-4736 Eclipse 4: Dynamic Launch Configuration Shortcuts key bindings do not work
• DVT-6250 Sometimes project open causes a NullPointerException
• DVT-6459 New DVT File wizard throws NullPointerException when filling in file name
with .build extension
• DVT-6570 Specador: FileNotFoundException (Not a directory) when generating
documentation using the new HTML style
• DVT-6596 Settings management engine doesn't always work on key bindings with
parameters
3.5.18 (1 August 2014)
Enhancements
• DVT-5715 F2 on identifier should show tooltip
• DVT-6211 Highlight javadoc pragmas
• DVT-6234 Custom Dialogs: DirectoryFilesListing widget should support listing directories
Bugfixes
• DVT-6209 Fixed cause for "Job found still running after platform shutdown" message on exit
• DVT-6065 Eclipse 4: Waive Problem in Problems View context menu doesn't work
• DVT-6066 Eclipse 4: SVN plugin throws an error when DVT Auto-Linked is created
• DVT-6461 Eclipse 4: No content in Problems/Tasks View when focus is on a different
stacked view (patch for Eclipse Luna 4.4.0)
• DVT-6482 Eclipse 4: Missing Copy Full Path action in Navigator View context menu
• DVT-6513 Eclipse 4: Tool Bar Customization / DVT Build category shows multiple empty
buttons
3.5.17 (25 July 2014)
Features
• DVT-5560 Specador: Ability to customize the HTML look & feel when new HTML style
is used
• DVT-6487 Specador: Ability to inject HTML in generated documentation when new HTML
style is used
© AMIQ
293
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Enhancements
• DVT-6113 Ability to "add as -y library", similar with "add as incdir" from Navigator right
click menu
Bugfixes
• DVT-6520 Trace Connections from Editor not working for cross language signals and ports
• DVT-6526 Specador: Watermark footer missing in new HTML style
3.5.16 (8 July 2014)
Features
• DVT-6485 Specador: New HTML look & feel
Bugfixes
• DVT-4775 Ability to insert single proposals automatically
• DVT-5197 File not opened in the correct folder, but in DVT Auto-Linked
• DVT-5550 Specador: Method argument comments are not extracted
• DVT-6210 Specador: Fixed JavaDoc @link hyperlink extraction when similar links are used
• DVT-6432 Specador: Refresh web browser after new documentation is generated
• DVT-6481 False
'DEALLOCATE'
UNDECLARED_IDENTIFIER
semantic
error
reported
for
reported
for
• DVT-6483 False syntactic error when using 'A <- B' (instead of A < -B)
• DVT-6484 False UNDECLARED_IDENTIFIER
function().member of record
semantic
error
• DVT-6492 Rebuild fails after adding a nature to a project
• DVT-6498 Eclipse 4: Fixed java.lang.NoClassDefFoundError in AbstractTextEditor
affecting some versions of Eclipse 4.2
• DVT-6499 NullPointerException when DVT_COMMON_SETTINGS is used and
DVT_USER_SETTINGS is not set
• DVT-6504 Performance degradation when creating Auto-Linked resources
3.5.14 (24 June 2014)
Enhancements
• DVT-4411 Trace Connections of internal signals from editor
© AMIQ
294
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-6372 Unify the task tags and comments collection with the parsing of the file
Bugfixes
• DVT-5968 Read-only pop-up not working for file with rw:r:r permissions when opened by
other user
• DVT-6001 Trace Connections from editor when only one top module candidate is available
should automatically select it
• DVT-6353 Specador: Overloaded functions are not visible
• DVT-6369 Project is restored twice on project open
• DVT-6370 Project restore cannot be interrupted by cancel button
• DVT-6376 Read-only indication not working for file with rw:r:r permissions when opened
by other user
• DVT-6391 Do not restore when using CLI createProject command
3.5.13 (13 June 2014)
Enhancements
• DVT-5558 Added support for VHDL multiline comment extraction
Bugfixes
• DVT-6331 Specador: Wrong hyperlinks when including external documentation directories
• DVT-6333 Specador: Show the external documentation title under the 'Referenced
Documentation' section in TOC
• DVT-6338 Exception while searching in Design Hierarchy
• DVT-6348 Layers View displays wrong information when invoked on an element while the
view is hidden
3.5.12 (10 June 2014)
Enhancements
• DVT-6303 Long parsing time for multiple levels of imbricated expressions
Bugfixes
• DVT-5469 Editing a file during build freezes the GUI
• DVT-6288 Specador: FileNotFoundException when documentation is generated with
diagrams in same location for multiple projects
© AMIQ
295
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-6304 Specador: progress dialog should also include design diagrams and design
diagrams with ports
• DVT-6308 License checkout error not reported properly due to an exception in FlexLM
3.5.11 (30 May 2014)
Enhancements
• DVT-5202 Specador: option to generate module diagrams with ports
• DVT-6056 Open files compiled by DVT with the corresponding DVT editor (for example
from Navigator)
• DVT-6159 Inconsistency: Outline/Quick Outline/Type Hierarchy filters dialog should have
Select/Deselect All buttons
• DVT-6260 Design hierarchy doesn't find component mapping in another library
• DVT-6069 Open problems reported by DVT with the corresponding DVT editor (for
example from Problems View)
Bugfixes
• DVT-6244 Sometimes Show Whitespace Characters throws an error
• DVT-6273 When same sources are Auto-Linked multiple times go to declaration (from view/
hyperlink) asks user to chose project
3.5.10 (22 May 2014)
Enhancements
• DVT-5131 Enhanced VHDL HTML Documentation
• DVT-6208 Settings management engine should handle .dvt.gtkrc settings
• DVT-6230 Provide an example Makefile wrapper for dvt_cli.sh in the uvm-ubus predefined
project
Bugfixes
• DVT-5478 HTML Documentation: boolean values in dvt_export_html.xml that contain
empty spaces are not recognized
• DVT-6130 False semantic error for function call when class extends its parameter
• DVT-6137 Ancestor field not visible if parent class extends its parameter
• DVT-6207 Fixed ConcurrentModificationException preventing DVT CLI daemon to start
• DVT-6219 False semantic error when referring VHDL-defined types/enums/constants in
Verilog
© AMIQ
296
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-6220 Compare Dialog is not using the editor background color
• DVT-6224 Layers View: duplicate layers for functions in package and package body
• DVT-6229 Changed Quick Search default messages
3.5.9 (12 May 2014)
REMOVED
• DVT-6174 Remove support for +dvt_reparse_duplicate_top_files+ build directive
Bugfixes
• DVT-6104 Search view Quick Search should be reset between searches
• DVT-6105 Search view is populated slower when Quick Search is active
• DVT-6157 Build configurations: in ius.irun compatibility mode, SPECMAN_PATH is
ignored
• DVT-6166 Eclipse 4: Fixed org.eclipse.swt.SWTException: Invalid thread access when
running "dvt_cli.sh -newwindow"
• DVT-6167 Eclipse 4: Fixed java.lang.NoSuchMethodError in AbstractTextEditor caused by
a bug in DVT Patcher
• DVT-6173 Invoking a single External Build Configuration triggers a full rebuild with all the
External Builders
• DVT-6181 HTML Documentation: cannot trigger a project rebuild from the documentation
wizard
• DVT-6198 False semantic DUPLICATE_VARIABLE error reported for procedure generic
ports
3.5.8 (30 April 2014)
Enhancements
• DVT-6147 Issue a warning at startup if incremental build (Project > Build Automatically)
is disabled
Bugfixes
• DVT-4645 Copy/Paste doesn't always work (Eclipse Bug 368354 patch)
• DVT-4657 dvt_cli.sh -newwindow opens two windows if DVT was not already running
• DVT-5736 Sometimes when closing a project files remain open and display an error message
• DVT-5842 Added Outline View button for configuring element filters
© AMIQ
297
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-6035 dvt_cli.sh openFile command issues an error if -line is not specified
• DVT-6138 Semantic timeout dialog always shows at incremental build when
+dvt_file_compile_timeout is set to 0 (disable)
• DVT-6185 False semantic UNDECLARED_IDENTIFIER error when using labeled begin/
end inside generate region
3.5.7 (22 April 2014)
Enhancements
• DVT-6036 Build config: incorrect number of expected arguments for -no_error directives
• DVT-6099 Build config: warn of unknown
+dvt_enable_unknown_directive_warnings
+dvt
directives
regardless
of
• DVT-6122 Ability to use $DVT_PROJECT_LOC environment variable in build config and
external tools
Bugfixes
• DVT-5157 External builder markers disappear when paths in default.build are target files of
symlinks from project
• DVT-6012 Views should not be updated when they are not visible
• DVT-6077 Wrong jump to file from external builder console error when the path is relative
• DVT-6097 Dynamic Launch Configuration Shortcuts should not be visible if they refer to
closed projects
• DVT-6109 Pre-restore dictionary size too big due to Java serialization inner class issue
3.5.6 (15 April 2014)
Enhancements
• DVT-5888 Hierarchical search in Compile Order View
• DVT-6016 Incremental compilation should not be performed for a build config file opened
with a VHDL editor (for example when using -f my_list_of_files.vhd)
• DVT-6018 Allow various operations like jump to definition or show hierarchy for the "after
cursor" identifier
Bugfixes
• DVT-3877 Last external builders marker takes over previous markers on same file/line
• DVT-4796 Errors reported by external builder incremental build are not displayed in
Problems View
© AMIQ
298
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-6005 Compile Order view in "Show only files with errors" mode should refresh after
reapplying compile waivers
• DVT-6021 Views are not updated across multiple Workbench Windows when building a
project
• DVT-6047 External Tools: "Note" filters should use the same color
• DVT-6095 Sometimes when opening symlinked files they get recompiled
3.5.5 (1 April 2014)
Enhancements
• DVT-5666 Content Filters for Design Hierarchy view
• DVT-5967 Ability to control "Disable code folding if file exceeds ### lines"
Bugfixes
• DVT-5938 Non DVT projects should not show in specific DVT project selection dialogs
• DVT-5961 Adding a DVT nature to a project should create the .dvt sub-directory if it does
not exist
• DVT-5962 Strange behavior of dvt_cli.sh when using "-newwindow -workingset": no
console, workingset visible on focus, old window updates
• DVT-5980 Console Log Filters: missing hyperlinks for relative paths starting with "../../"
• DVT-5981 Wrong default template when creating a new file with explicitly specified
extension in a mixed language project
• DVT-5982 Do not notify views when incremental compilation is not performed (for example
because of max number of lines)
3.5.4 (21 March 2014)
Enhancements
• DVT-5887 Search View Quick Search should bold the matched parts of branches like in all
other views
• DVT-5930 Missing read-only notification when formatting a read-only or unchecked out file
Bugfixes
• DVT-5918 Infinite loop sometime when BadLocationException is thrown in tooltip parser
• DVT-5925 Default content of a New > DVT Content Filters XML may filter out all tasks
in windows
• DVT-5926 VHDL entities placed in different libraries are not visible from SV top module
© AMIQ
299
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5928 Wrong vertical align by parenthesis close, bracket close or curly close
3.5.3 (14 March 2014)
Enhancements
Bugfixes
• DVT-5896 Trace Connections View search for port does not bold the matched ports
• DVT-5903 Content Filters: Errors and tasks in simlinked files are not filtered
• DVT-5905 Content filters do not apply for problems reported on files outside project
3.5.2 (11 March 2014)
Enhancements
Bugfixes
• DVT-5886 Quick Search does not perform prefix matching on CamelCaseStrings
3.5.1 (7 March 2014)
Enhancements
• DVT-5788 Copy full path of multiple resources
• DVT-5818 Content Filters: ability to filter Search View by element text
Bugfixes
• DVT-5700 HTML Documentation Generator should not report progress for each diagram
• DVT-5795 HTML Documentation Wizard does not refresh all the settings when changing
the project
• DVT-5804 Some formatter preferences (like Vertical align > Module port declarations) are
not saved under Windows OS
• DVT-5808 Performance improvements for Content Filters
• DVT-5810 Outline should not reveal the first matched element when new content is added
• DVT-5811 Internal builder console is cleared when saving a build configuration file
• DVT-5815 Changed Code Factory shortcut conflicting with Copy Full Path shortcut from
Shift+Alt+P to Shift+Alt+K
• DVT-5819 Wrong semantic errors for duplicate VHDL aliases
• DVT-5820 Wrong semantic errors when aliases for subprograms are used
© AMIQ
300
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5824 Fixed incompatibilities with Eclipse 3.6
• DVT-5826 Fixed dvt.sh issues on MacOS
3.5 (27 February 2014)
HIGHLIGHTS
• Enhanced Semantic Checks: check that each identifier is properly declared and used
• Trace Connections usability improvements, enhancements and bug fixes.
• Ability to use Content Filters in order to eliminate unnecessary information overload.
• Redesigned the tool configuration and preferences sharing capabilities. See Settings
Management
• Redesigned the code formatting engine. See Code Formatting
• Completely unified the DVT Perspective across all languages.
• Quick Search available in most views
• Redesigned icons (see Icons and Decorations), tool-bars and menus.
• Renamed the Instance Tree View to Design Hierarchy View
REMOVED
• DVT-4293 Remove all incdir and define variables for External Tools Integration ${dvt_current_build_file} should be used instead
• DVT-5765 Removed deprecated scripts dvt_trap.sh, dvt_xterm.sh, license_utils.sh
Features
• DVT-650 & DVT-1021 & DVT-2451 & DVT-2430 Ability to control preferences for site,
team, user, project levels
• DVT-1180 Link Back to Console from External Builder Marker
• DVT-2943 Ability to use waivers for build configuration problems
• DVT-3791 Ability to capitalize all keywords and types in VHDL
• DVT-4049 Auto-Link files included by default.build
• DVT-4412 & DVT-5112 Add ports view to Trace Connections View
• DVT-5111 Add filter to Trace Connections View tree
• DVT-5128 Unify Views context menu actions: Show References, Layers, Hierarchy,
Instance Tree, Diagrams
© AMIQ
301
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5155 Ability to control memory using dvt.sh arguments
• DVT-5265 Unify Checks View
• DVT-5277 Ability to disable format for a marked region of code
• DVT-5368 Unify Layers View
• DVT-5610 Unify Trace Connections View
• DVT-5763 Changed Instance Tree view to Design Hierarchy View. See Design Hierarchy
View
Enhancements
• DVT-532 Ability to easily share code templates at site level
• DVT-4040 Unify icons across languages
• DVT-4408 CamelCase support for quick views and views text filters
• DVT-4795 Predefined project mx_1 does not compile using Questa Simulator
• DVT-5025 Trace Connections toolbar icons are not intuitive
• DVT-5044 Autoinstance declares signals for all ports
• DVT-5068 Show matched/total number of instances in Instance Tree
• DVT-5268 Element count in top label of views should show filtered/total info
• DVT-5330 Mark the current trace path in the Trace Connections View tree
• DVT-5331 Show port/signal icons in the Trace Connections View menus and ports view
• DVT-5618 Ability to control compilation timeout via build configuration directives:
+dvt_file_compile_timeout and +dvt_incremental_compile_timeout
• DVT-5764 Updated JRE in distribution to version 1.7.0u4
Bugfixes
• DVT-4559 When the Instance Tree gets empty after an incremental build the "work" library
is shown
• DVT-4614 Cursor jumps on another line after auto-format when using spaces instead of tabs
• DVT-5106 Instance Tree and Trace Connections views memory leak
• DVT-5130 Code formatting failure when vertical alignment is on
• DVT-5210 Types View should reset after a project is cleaned
© AMIQ
302
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5380 Invoking Trace Connections in Editor triggers an error when Instance Tree is
filtered
• DVT-5485 & DVT-5554 Instance Tree loses selection when the editor is changed or when
Navigator View is selected
• DVT-5448 When the platform starts and there is no resource selected, the current project is
not in sync with the highlighted project in Navigator
• DVT-5628 Formatter error when using quote character
• DVT-5722 Instance Tree shows the first element when it should be empty
• DVT-5723 Show Instance Tree is not working on a VHDL entity when the top is Verilog
module
3.4.28 (24 February 2014)
Enhancements
• DVT-3845 Declaring packages with the same name should give a duplicate semantic error
Bugfixes
• DVT-5724 Do not treat as case-insensitive gcc-like build config directives in ius.irun
compatibility mode
• DVT-5740 External Tools custom filter does not work if the pattern text ends with space/
tab/new line char
• DVT-5742 External Tools can't read from an external_builders.xml file that contains patterns
with the same id
3.4.27 (29 January 2014)
Enhancements
• DVT-5704 Allow '--{{' and '--}}' symbols as user defined code folding region
• DVT-5687 Update DVT_UVM_HOME to point to latest uvm_1.1d
Bugfixes
• DVT-5434 Support for predefined 'deallocate' API
• DVT-5709 Unrecognized 'ieee.math_real.log2(...)'
• DVT-5710 Mismatch of overloaded functions across packages
• DVT-5720 Wrong type assignments to variables in functions
3.4.26 (8 January 2014)
© AMIQ
303
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Bugfixes
• DVT-5680 For VHDL, the -work directive is effective only for the subsequently specified
top files
3.4.25 (18 December 2013)
Bugfixes
• DVT-5659 HTML Documentation: generating documentation throws an error when the
option "Exclude files outside project" is set
• DVT-5664 Inserting text in block selection mode skips characters in some environments,
fixed for Eclipse Platform 3.8.1 and DVT distros
3.4.24 (2 December 2013)
Enhancements
• DVT-5616 Open non-DVT perspectives when creating project with dvt_cli.sh
• DVT-5629 Trim whitespace characters after new line in auto-indentation
Bugfixes
• DVT-5632 Instance tree should not be updated on every resource selection
3.4.23 (22 November 2013)
Enhancements
• DVT-4906 Automatically continue comment on new line when editing inside a block
comment
• DVT-5481 Show the parameter descriptions instead of the parameter names in Add From
Project Template dialog
• DVT-5604 False error reported in default.build for -licwait directive
Bugfixes
• DVT-5582 VHDL configuration specification does not resolve Verilog modules in the same
library
• DVT-5607 Long-running background activity after Replace All with many occurrences
3.4.22 (15 November 2013)
Bugfixes
• DVT-5579 "Resource is inaccessible" error in DVT Auto-Linked when updating change sets
for SVN
© AMIQ
304
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5583 Referencing an entity/package by work.entity/work.package.type triggers false
UNDECLARED_IDENTIFIER/ENTITY/TYPE errors
3.4.21 (14 November 2013)
Enhancements
• DVT-5566 Added dvt_cli.sh -p4 flag for sharing project with Perforce
Bugfixes
• DVT-5574 Internal builder console hyperlinks don't work for locale-specific number format
(like 1,234)
3.4.20 (8 November 2013)
Enhancements
• DVT-5530 dvt_cli.sh -silent flag should shut down all INFO & WARNING messages
Bugfixes
• DVT-5471 External Tools: avoid error/warning/note color nuances for automatic smart log
colors
• DVT-5531 In ius.irun compatibility mode -assert directive should take no args
• DVT-5559 After platform startup, text selection in a DVT editor triggers restore from
dictionary for all projects
3.4.19 (1 November 2013)
Bugfixes
• DVT-5484 Module diagrams sometimes throw NullPointerException
3.4.17 (29 October 2013)
Enhancements
• DVT-5468 Build Progress indication with invocation and top file granularity
Bugfixes
• DVT-5225 Entity auto-instance code is not indented correctly
• DVT-5437 Change Extended help dialog title from "DVT Generic - Extended error ID info"
to "Error ID info"
• DVT-5438 New File Wizard stuck when changing nature and filtering template
• DVT-5470 "Create Testbench" not working for values of entity generics that start with $
© AMIQ
305
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
3.4.16 (11 October 2013)
Feature
• DVT-3755 Ability to "copy" entity and "paste" as instance, signals or testbench. See Code
Factory
Enhancements
• DVT-5465 Add from Project Template scans for default parameter values in both source and
target template.config
Bugfixes
• DVT-5461 Platform not closing sometime due to save dictionary pop-up (pop-up cannot be
dismissed)
• DVT-5466 Project Template Wizards don't work with parametrized directory names
3.4.15 (4 October 2013)
Enhancements
• DVT-5446 Save dictionary in compressed format
Bugfixes
• DVT-4664 Restore opened files when running dvt_cli.sh createProject -force
• DVT-5361 Set active build configuration is not consistent across multiple Eclipse
Workbench Windows
• DVT-5426 The "please wait..." info box sometimes persists after successfully generating
diagrams
• DVT-5449 Add From Template: add option to select a predefined project as a source
directory
• DVT-5450 New Project from Template and Add from Template corrupts the binary files in
the template project
3.4.14 (25 September 2013)
Deprecated Support for deprecated build configuration files will be removed in the next major
DVT release (.dvt/.vhdl_top_files, .dvt/.vhdl_ignore_files).
Enhancements
• DVT-4273 & DVT-5410 Added dot in Windows distros
Bugfixes
• DVT-5415 Duplicated key binding Ctrl+Y for "Redo" in Windows
© AMIQ
306
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5422 Instance Tree Ports View broken in VHDL
3.4.13 (20 September 2013)
Enhancements
• DVT-1180 Link Back to Console from External Builder Marker
• DVT-5096 Ability to include compile waivers
• DVT-5165 Add "read only" file indication in Navigator View, Editors and Refactoring
Preview
• DVT-5314 Match brackets to the left and right of the cursor
• DVT-5378 Editor setting for changing the color of the matched bracket highlight
• DVT-5390 Updated ViPlugin for DVT to 2.11.0
• DVT-5392 Corresponding matching bracket highlight when emulating vi
• DVT-5396 Minimize number of disk accesses when writing to dvt_build.log
Bugfixes
• DVT-4654 ViPlugin state not persisted between sessions
• DVT-5384 User interface is not responsive while generating diagrams
• DVT-5402 Unwanted ^M control character added when instantiating an entity
• DVT-5407 Ability to cancel diagram generation
3.4.12 (11 September 2013)
Features
• DVT-5349 Support for VHDL 2002 standard
• DVT-5350 Support for VHDL AMS 2007 standard
Enhancements
• DVT-5147 Disable auto-complete triggering (beep) when typing a '.' inside comments
Bugfixes
• DVT-5366 Keyword "default" not accepted as identifier in VHDL 2008 language syntax
3.4.11 (9 September 2013)
Enhancements
© AMIQ
307
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-3091 Show project name in console title for Run Configurations and External Builders
• DVT-4558 New ${dvt_cli} run configuration variable
• DVT-5087 Ability to query the running status of DVT
• DVT-5223 Ability to query the version of running DVT
• DVT-5315 Ability to customize nchelp tool name/path to show extended help in console
Bugfixes
• DVT-4657 dvt_cli.sh -newwindow opens two windows if DVT was not already running
• DVT-4757 & DVT-4995 When tracing inout ports no target icon decorations are shown in
the Trace Connections View
• DVT-4778 When creating/importing a project via dvt_cli.sh, auto-select "Window Working
Set" in Open Resource dialog
• DVT-5346 "Project" sub-menu not showing for VHDL projects context menu
• DVT-5356 Instance tree is not populated after project restore
3.4.10 (26 August 2013)
Bugfixes
• DVT-4690 dvt.sh/dvt_cli.sh should issue an error if provided a non-existing eclipse.ini
• DVT-5313 Rebuild buttons are only visible in the first Eclipse Workbench Window
• DVT-5333 Trace Connections View memory not cleaned properly between trace port
operations
• DVT-5334 NullPointerException when searching for references on predefined libraries
• DVT-5336 VHDL AMS keywords are not ignored in VHDL 2008 compatibility mode
• DVT-5338 Switching a project doesn't update the Instance Tree View when no top module
is specified
• DVT-5339 VHDL 2000 keywords are not ignored in VHDL AMS 99 compatibility mode
• DVT-5340 Update Clearcase plugin to version 2.2.34 to fix some small issues
• DVT-5341 Change distro name form DVT_CUSTOM_KIT to DVT_KIT
3.4.9 (14 August 2013)
Enhancements
• DVT-5306 Hide "Project" sub-menu for non DVT project's context menu
© AMIQ
308
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5307 Hide "Validate" and "Format Source" menu items added by XML plugins on non
XML files
Bugfixes
• DVT-5308 Cancel does not work for hyperlink file selection dialog
• DVT-5311 Open declaration hyperlink no longer working correctly (flickering)
3.4.8 (12 August 2013)
Enhancements
• DVT-5120 Added support for -eclipse_args for dvt_cli.sh
• DVT-5297 Add External Tools filters for SpyGlass logs
Bugfixes
• DVT-5036 Types/Compile Order Views should refresh when opening a project
• DVT-5244 Compare with > Other Resource ... from editor does not work
• DVT-5296 Sometimes the external tools filter variable '${file}' does not match correctly
3.4.7 (5 August 2013)
Enhancements
• DVT-5208 Slow hyperlink to module definitions in large designs
Bugfixes
• DVT-4703 Architecture variable, wrong "not declared" semantic error in instantiated unit
• DVT-4749 Run configurations session wrapper doens't check for all necessary binaries
• DVT-4787 Run configurations default command/script should not use csh/tcsh with -i flag
• DVT-4788 Run configurations generated script doesn't run the last when using csh/tcsh
• DVT-5266 External builders persistence file defaults to the deprecated .dvt/.dvt_builders
instead of external_builders.xml
• DVT-5269 External Build button should invoke all external builders instead of the last ran
builder
• DVT-5270 Wrong syntactic errors reported for PSL property declarations in VHDL 2008
• DVT-5284 Disabled EMACS+ plugin auto activation in distros to prevent clipboard
problems
• DVT-5285 Added range information for vector types
© AMIQ
309
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5290 Wrong semantic error for records of a type used in a subtype
3.4.6 (26 July 2013)
Enhancements
• DVT-4896 Added KIT distro for Linux and MacOS. See dvt_kit_installer.sh
Bugfixes
• DVT-4997 Auto-instance a VHDL entity in Verilog using content assist
• DVT-5234 HTML Documentation: spacing and tabs indentation problems for NaturalDocs
formatting
• DVT-5246 Compile Order View: collapse all does not work
• DVT-5258 Wrong semantic error reported when variable associated type is access or record
type
• DVT-5259 Wrong semantic error reported when alias an enumerated value
• DVT-5260 Wrong semantic error reported for variables defined inside protected body of a
type
3.4.5 (22 July 2013)
Enhancements
• DVT-4509 Build configurations: +dvt_auto_link_root (without trailing +) issues "unknown
directive" instead of "badly specified directive"
• DVT-4820 Build configurations: allow usage of +dvt_auto_link_root only in first invocation
• DVT-4960 Survive duplicate directives like "-liblist -liblist arg"
• DVT-5009 View filters should cancel an ongoing search operation when filter text is changed
and trigger a new search (Instance Tree/Types/Compile Order)
• DVT-5024 Redesigned the select instance dialog for Trace Connections from Editor
• DVT-5199 Use a bidirectional edge when indirectly connecting incompatible ports
Bugfixes
• DVT-4663 dvt_cli.sh exit code should reflect the operation result
• DVT-5203 Trace Connections View is cleaned after building any project
• DVT-5211 Set the correct window size for module diagram's legend
• DVT-5215 DVT views flicker after building projects that shouldn't affect them
© AMIQ
310
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5222 Eclipse Juno - "Cannot get the parent identifier from an undefined context..."
exception
• DVT-5229 Cross language hyperlinks open the file in wrong editor
• DVT-5231 Library logical name WORK denotes the current working library during a given
analysis
• DVT-5233 Code Templates View: no error message when creating a template with unescaped "$" characters
• DVT-5238 Auto-indent after entity instantiation should preserve indentation
3.4.4 (9 July 2013)
REMOVED
• DVT-5188 Removed support for DVT Auto-Linked language specific subfolders
("SystemVerilog", "e-Language" and "VHDL")
Enhancements
• DVT-4542 Match only elements of same kind when folding and performing doubleclick
selections
• DVT-4748 Use cache when clicking through diagrams
• DVT-4754 Add an indication for array of instances in module flow diagrams
• DVT-4870 Trigger an error when using DVT-defined Environment Variables for
+dvt_auto_linked_root
• DVT-4934 Auto-indentation in blocks delimited by curly brackets
• DVT-5114 Module diagram hyperlinks not working when navigating using breadcrumb
• DVT-5115 Update the legend of module flows diagrams in order to be VHDL compatible
• DVT-5123 Update the legend of module flows diagrams with hyperlink hints
• DVT-5136 Update default SystemVerilog language Syntax to SystemVerilog 2012
• DVT-5138 Wrong editor tab tooltip for DVT Auto-Linked files starting with e-Language/
SystemVerilog/VHDL prefixes
• DVT-5175 Update documentation to reflect default VHDL 2008 Language Syntax
Bugfixes
• DVT-4033 Report an Issue: "save as zip" not closing the wizard
• DVT-4768 F3 is not working in the Build Configuration editor
© AMIQ
311
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5092 Cancel does not work while generating HTML Documentation with diagrams
• DVT-5116 Formatter hangs with certain vertical alignment token sets
• DVT-5122 Wrong jump to editor for ports/signals with similar names
• DVT-5139 Run configurations session wrapper throws errors in some "sh" replacements (e.g.
dash in Ubuntu) due to non POSIX syntax
• DVT-5142 Refactor rename not working properly when more than 10 files are changed
• DVT-5156 Double click on Compile Order View during build freezes the DVT
• DVT-5176 VHDL auto-indentation issues in empty lines
• DVT-5194 New File Wizard does not show an error message when creating a new file in
a virtual folder
• DVT-5196 HTML Documentation: open index.html in the platform's internal web browser
(instead of the default editor)
• DVT-5204 Fixed "Could not set character size" error when displaying diagram's legend and
preferences
3.4.3 (21 June 2013)
Enhancements
• DVT-5056 Support for encryption directives in VHDL 2008
• DVT-5107 Improved the display of ports and signals in the Trace Connection View
• DVT-5108 Added support for NUMERIC_STD_UNSIGNED package
Bugfixes
• DVT-5038 Types View: after platform restart icons are not visible
• DVT-5043 VHDL outline view preferences are not persistent
3.4.2 (14 June 2013)
Enhancements
• DVT-4223 Persist the Instance Tree Ports View settings
• DVT-4761 Add a button to show the legend of module flows diagrams
• DVT-4992 Disable "Use dot from distribution" checkbox in non-linux environments
Bugfixes
• DVT-4858 Quick filter in Types View should expand the tree and select the first match
© AMIQ
312
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5035 Types View search filter sets focus on wrong type if project has multiple natures
• DVT-5052 Trace Connections View is not cleaned when closed
• DVT-5076 Add to default.build does not add build configuration files
• DVT-5077 Always open with DVT editor when double click in Compile Order View
• DVT-5082 Wrong undeclared variable when using VHDL block statements that include port
declarations
• DVT-5091 Instance Tree View memory leak
• DVT-5094 All refactoring operations should only validate editing of the files that will be
modified (make writable/check out)
• DVT-5095 Incorrect trace path shown in Trace Connections View for signals with the same
name
3.4.1 (7 June 2013)
Performance
• DVT-5050 Trace Connections optimizations for big instance trees
• DVT-5073 Performance improvement on DVT-Auto Linked files creation (part 2)
Enhancements
• DVT-4827 Print total build time in human-readable form
• DVT-5065 Added trunc(...) procedure to math_real package
• DVT-5066 Added predefined types boolean_vector, integer_vector, real_vector,
time_vector, file_open_kind, file_open_status
• DVT-5067 Added predefined string read procedures sread(...) and string_read(...)
• DVT-5074 Added Trace Connections message dialog for operation already in progress
Bugfixes
• DVT-5026 Diagram preference page incorrectly manages invalid dot executable
• DVT-5027 Types View drag and drop entity auto-instance does not work on Windows
• DVT-5028 Trace Connections View memory leak
• DVT-5034 Quick Types/Compile Order Views should show Select Project dialog if no
project is selected
• DVT-5046 Quick Types/Compile Order Views do not close when trying to open an element
that is already opened in an editor
© AMIQ
313
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-5047 Types View drag and drop entity auto-instance doesn't scroll through vlog/vhdl
editor
• DVT-5053 HTML Documentation Wizard overview description file error if the file
"readme.txt" is not found
• DVT-5063 Path hyperlinks are improperly formatted when file name contains '&' character
• DVT-5064 Path hyperlinks are improperly formatted when file name contains whitespace
3.4 (2 June 2013)
HIGHLIGHTS
• Ability to inspect each step from source to destination when tracing connections. See Trace
Path
• Ability to trace connections from editor. See Trace Connections from Editor
• Ability to search for ports in the design hierarchy. See Search Port in Design Hierarchy
• Fixed some semantic checking limitations
• Unified Types and Quick Types Views across languages. See Types View
• Unified Compile Order and Quick Compile Order Views across languages. See Compile
Order View
• Unified Tasks Tags Preferences across languages. See Reminders (TODO Markers)
Performance
• DVT-5032 Performance improvement on DVT-Auto Linked files creation
Features
• DVT-141 Mixed Language Support: Unify Compile Order View and Quick Compile Order
View. See Compile Order View
• DVT-147 Mixed Language Support: Unify Types View and Quick Types View. See Types
View
• DVT-3107 Mixed Language Support: Unify Task Tags Preferences. See Reminders
(TODO Markers)
• DVT-4434 Trace port directly from editor. See Trace Connections from Editor
• DVT-4785 Added VHDL Project Statistics
Enhancements
• DVT-3107 Unify task tags preferences
© AMIQ
314
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-3131 Remove checkboxes from the entries in Tasks View
• DVT-4023 Added Why section in the Trace Connections View to see trace path of a port
or signal. See Trace Path
• DVT-4634 Mixed Language Support: Quick Types View should show information for all
languages instead of asking to select a language
• DVT-4724 Unified "Project Statistics"
• DVT-4975 Synchronized Why section with the Trace Connections View
• DVT-4976 Add icons to the ports displayed in the Why window
• DVT-4977 Differentiate between sources and destinations in Trace Connections View
• DVT-4987 Enable "Change DVT Nature" popup menu action, regardless of current
perspective
• DVT-4990 Mixed Language Support: Quick Compile Order should show information for
all languages instead of asking to select a language
• DVT-4996 Support for drag and drop VHDL entity auto-instance
• DVT-5004 Ability to search for ports in the Instance Tree View
• DVT-5018 Added progress reporting for trace port operations
Bugfixes
• DVT-4674 Diagram "Save as" should update supported extensions when dot binary changes
• DVT-4714 Refactor Connect: toolbar changes position depending on the order of button
presses (ports view, connect toolbar)
• DVT-4929 Add support for simple wildcards (* and ?) for Instance Tree filtering
• DVT-4973 Relative paths in environment inherited $SPECMAN_PATH are not resolved as
relative to compilation root
• DVT-5005 Build Config Editor - Some top files include patterns don't get recognized under
Windows
• DVT-5031 Connect ports: toggle ports view after performing a connect operation duplicates
the connect toolbar
3.3.8 (24 May 2013)
Enhancements
• DVT-5013 Report error if end label does not match the name of the package/entity/
architecture, etc.
© AMIQ
315
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Bugfixes
• DVT-4833 False undeclared variable error for argument of function call
• DVT-4836 False undeclared type std_logic error when syntactic error occurs after use
ieee.std_logic_1164.all clause
• DVT-5006 Types View: double click on a type does not open it in a new editor (throws a
null exception)
• DVT-5014 Wrong semantic errors reported when component/entity is instantiated
3.3.7 (17 May 2013)
Enhancements
• DVT-3139 Allow creating a new file under the DVT Auto-Linked folder using the New File
Wizard
Bugfixes
• DVT-4815 Fixed MacOS dot crashes by disabling orthogonal routing option for this platform
• DVT-4834 Files under DVT Auto-Linked roots are not removed when added as linked
resources
• DVT-4993 Prevent a dictionary restore when a full build will follow
3.3.6 (27 April 2013)
CLEANUP
• DVT-4944 Renamed "Trace in Design" as "Trace Drive and Load" to reflect the changed
functionality
Enhancements
• DVT-4661 Build Config: turn off "Unknown directive" warnings by default
• DVT-4662 Build Config: add support for +dvt_enable_unknown_directive_warnings
Bugfixes
• DVT-4626 On MacOS dvt.sh issues an error (tee: illegal option -- -)
• DVT-4803 Custom Dialogs: Directory Files Listing widget presents an empty list on the first
run
• DVT-4922 Project right click > Add to default.build should work if .dvt directory does not
exist or is empty
• DVT-4923 Project right click > Add to default.build should refresh default.build file after
updating it
© AMIQ
316
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4925 VHDL auto-indentation problems after "port map"
• DVT-4938 Trace Connections View doesn't show the vertical scrollbar
• DVT-4941 Project right click > Ignore Files does not add the correct path to default.build
• DVT-4943 DVT Wizards menu entries not visible in DVT Perspective in project right click
menu
• DVT-4947 Some images are not displayed in the built-in documentation
3.3.5 (22 April 2013)
Enhancements
• DVT-4876 HTML Doc Wizard: enhanced support for absolute paths for documentation
output directory path
• DVT-4899 HTML Doc Wizard: enhanced support for system variables in paths
• DVT-4914 Improve Instance Tree filtering performance
• DVT-4921 Document Instance Tree View filtering
Bugfixes
• DVT-4849 Predefined Projects: launch configurations might not work because of 32/64 bits
compatibility problems
• DVT-4877 HTML Doc Wizard: open index.html in web browser after generating
documentation in a directory outside the project
• DVT-4902 New File Wizard shows an error message when trying to create a new file inside
a virtual folder
3.3.4 (15 April 2013)
Performance
• DVT-4731 Limit the number of proposals on autocomplete
• DVT-4851 Code formating is slow when applied to large files
• DVT-4852 Autocomplete auto-instance slow when large number of modules or large number
of ports
• DVT-4866 Populating the instance tree is slow for large designs
Enhancements
• DVT-4603 Content assist option to combine both search algorithms (CamelCase and prefix
match)
© AMIQ
317
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4722 Changed Trace in Design to show the reunion of Trace Drive and Trace Load
• DVT-4799 Add pointers to Code Template property pages in New File Wizard
• DVT-4813 Updated FlexLM libs to v.11.11.1 to add support for "INCLUDE ... PROJECT"
option
Bugfixes
• DVT-4592 Fixed dvt.sh to work with "-eclispe_args -pluginCustomization ..." arguments
• DVT-4794 New Project Wizard should not overwrite existing default.build
• DVT-4830 "Resource is inaccessible" error when the DVT Auto-Linked folder is cleaned
• DVT-4842 dvt_plugin_installer.sh delete directive uses only the last delete argument and
ignores the rest
• DVT-4864 Generating HTML Documentation does not work if a build job is in progress
• DVT-4872 Duplicate error message missing first hyperlink if element declaration line
number > 999
3.3.3 (2 April 2013)
Performance
• DVT-4225 Module flow diagram performance improvements for large designs
• DVT-4742 Slow hyperlink to definition or tooltip in very large files
• DVT-4743 Slow hyperlink to assignment in very large files
• DVT-4744 Slow typing or navigating (scroll) through very large files
Enhancements
• DVT-4769 Rebuild buttons should have the corresponding action in the drop-down menu
Bugfixes
• DVT-1231 Diagram, HTML Documentation, and OVM/UVM Compliance editor windows
should close on project close/delete
• DVT-4519 Fixed wrong auto-indentation after "when ... else ... " statement
• DVT-4700 For SVN distros, after update to 3.3.1, errors are incorrectly thrown by the DVT
Auto-Linked folder
• DVT-4717 Empty menu entry in Window -> Customize Perspective -> Toolbar Visibility
tab-> DVT Build
• DVT-4729 Copy full path doesn't work for DVT Auto-Linked folders
© AMIQ
318
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4735 Dynamic Shortcuts in Eclipse 4 - generated icons are not visible on the main
toolbar
• DVT-4774 External Questa builder is not working out of the box on Windows
• DVT-4798 The +dvt_env+ build directive should accept quoting the environment variable
value
3.3.2 (22 March 2013)
Bugfixes
• DVT-4604 Fixed FlexLM client to prevent opening too many threads in some situations
• DVT-4693 Fixed FlexLM client reconnection problems by reducing reconnection time after
idling
• DVT-4707 Predefined Projects Wizard - some fields are not displayed correctly when the
monitor resolution is less than 1024x768
• DVT-4708 Outline view is notified multiple times after an incremental compile
• DVT-4709 Built-in predefined functions 'endfile()' and 'file_close()' not available when using
textio package
• DVT-4710 Compilation fail sometime when the project contains linked resources
3.3.1 (15 March 2013)
Enhancements
• DVT-4639 Overwrite closing brackets instead of adding another
• DVT-4675 Diagram save as should append the .<ext> to file name specified by the user
Bugfixes
• DVT-4579 Extend automatic check-out to "Search and Replace"
• DVT-4670 Stack overflow when adding a key binding to a dynamic shortcut
• DVT-4676 Diagram preview dialog errors out with "cannot find font"
• DVT-4688 Increase/Decrease Editor Font Size does not work after modifying the default
font from Windows -> Preferences
3.3 (10 March 2013)
HIGHLIGHTS
• Support for the VHDL-2008 standard
• Semantic checking of undeclared signals
© AMIQ
319
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• Ability to save a diagram in various graphical formats like jpeg, png, svg (see Diagrams)
• Ability to specify the "Run Configuration Session Type", mainly in order to allow for proper
termination of all spawned processes when launching an external tool (see Run Configuration
Session Type)
• Ability to select if a run configuration is a command or a multi-line script (see Run
Configurations)
• Ability to specify one or more "roots" that DVT Auto-Link can use instead of the full
hierarchy, in order to flatten the deep Auto-Link hierarchy (see DVT Auto-Linked)
• New HTML Documentation wizard with supp
REMOVED
• DVT-4370 Removed support for pre DVT 2.9.7 local licenses (DVT_LICENSE_VERSION
is not used anymore)
DEPRECATED
• DVT-4575 dvt_trap.sh is deprecated by Run Configuration Session Type
• DVT-4577 dvt_xterm.sh is deprecated by Run Configuration Session Type
Features
• DVT-2432 VHDL support for 2008 standard
• DVT-4217 Ability to specify one or more "roots" that DVT Auto-Link can use instead of
the full hierarchy. See DVT Auto-Linked
• DVT-4466 Integrated dvt_trap.sh and dvt_xterm.sh functionality in run configurations (see
Run Configuration Session Type)
• DVT-4578 Ability to select if a run configuration is a command or a multi-line script
Enhancements
• DVT-3780 Mixed Language Support: New HTML Documentation wizard with support
for projects with multiple natures
• DVT-4042 When changing project nature, don't create default.build if .*_top_files already
exist
• DVT-4047 Mixed Language Support: Unify toggle nature actions
• DVT-4100 Ability to save a diagram in various graphical formats like jpeg, png, svg
• DVT-4365 Generate Html Documentation in dvt_html_doc directory
• DVT-4386 Jump to matching case statement alternative
© AMIQ
320
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4419 Add color preferences page for the *.build configuration file editor
• DVT-4433 Serialize Instance Tree top architecture in default.build and automatically
populate the view
• DVT-4593 Allow sub-second granularity for dvt_debug_utils.sh -thread_dump
• DVT-4594 Create an icon for VHDL perspective
• DVT-4600 Update copyright in plugin description
• DVT-4640 Don't prompt the user for making files writable, when automatic check-out fails
Bugfixes
• DVT-2672 & DVT-3005 Console View Terminate does not work (due to background
processes holding stdout) is fixed when using a new session (see Run Configuration Session
Type)
• DVT-4315 Html Documentation Wizard is not in sync with the .xml settings file
• DVT-4413 Shift + F4 on non-types should not clear the instance tree but bring it into focus
• DVT-4570 BuildConfig Editor doesn't correctly match numbers
• DVT-4638 New File Wizard - "Browse" button does not work if "Directory" field is empty
• DVT-4646 Automatic check-out: text following ${selected_resources_loc} variable gets lost
3.2.21 (8 March 2013)
Bugfixes
• DVT-4638 New File Wizard - "Browse" button does not work if "Directory" field is empty
3.2.20 (6 March 2013)
Bugfixes
• DVT-4628 Internal builder triggers external builder for files opened from outside project
• DVT-4636 Set current build complains about read-only build_config.xml
3.2.19 (5 March 2013)
Bugfixes
• DVT-4622 Spurious internal debug messages in console
3.2.18 (4 March 2013)
Bugfixes
© AMIQ
321
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4520 Wrong indent after 2 spaces on a new line
• DVT-4599 Set current build fails silently when build_config.xml is read only
• DVT-4606 In OSX, generating a predefined diagram with no dot in PATH and no type
compiled opens several windows that cannot be dismissed with the mouse
• DVT-4613 Memory leak when importing/deleting projects several times
3.2.17 (20 February 2013)
Enhancements
• DVT-4030 Workingset selection toolbar button is missing in DVT perspective
• DVT-4302 Add buildProject command to DVT CLI
• DVT-4538 Custom Dialogs: when ElementListSelectionDialog widget has many entries the
previous selection is restored very slow
• DVT-4552 Add -blocking flag to DVT CLI refreshProject
Bugfixes
• DVT-4435 Unwanted sticky selection when reloading a file that changed on disk
• DVT-4551 Don't auto-insert closing bracket )]} if there are characters after
• DVT-4565 Format preference page - NullPointerException when enabling/disabling external
program formatting
• DVT-4566 Format preference page - broken layout for line wrapping note
3.2.16 (11 February 2013)
Features
• DVT-1690 Hooks for scripts to perform automatic check-out when editing a read-only file
Bugfixes
• DVT-4515 A more informative error message if there is a name collision between an
imported project and one from the current workspace
• DVT-4492 When using split editors, selecting a word in one of them reveals the cursor
position in the other
3.2.15 (28 January 2013)
Bugfixes
• DVT-4491 Run Configurations wizard is very slow when changing settings
© AMIQ
322
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4497 Console hyperlink is opening the wrong file when both physical and symbolic
link files are under project
3.2.14 (23 January 2013)
Bugfixes
• DVT-4490 Delete at cursor position removes text at the last selected region offset
3.2.13 (23 January 2013)
Bugfixes
• DVT-4487 Incremental build not always working (sometime not working for the files under
project root)
• DVT-4488 Exception thrown sometime when deleting text under vertical selection
• DVT-4447 Building a C project will cause ClassCastExceptions to show up in the Error Log
3.2.12 (22 January 2013)
Enhancements
• DVT-4403 Inconsistent quoting when reporting errors (e.g. Expecting "something", found
'something else')
• DVT-4468 Update Clearcase plugin to version 2.2.27
• DVT-4470 Overwriting closing quotation marks after typing some text
• DVT-4484 Brush-up the defaults for external builders
Bugfixes
• DVT-4463 Wrong hyperlink from Run Configuration Filters if there are more files with the
same name
• DVT-4472 External builders should read from .dvt_builders if it exists but no
external_builders.xml exists
• DVT-4479 Dynamic Run Configurations shortcuts wizard page - cannot change "toolbar
order number"
• DVT-4485 The toolbar containing New Project & File wizards is not visible on the main
toolbar
3.2.11 (11 January 2013)
Enhancements
• DVT-4426 +dvt_env+ directive should accept environment variables in variable names
© AMIQ
323
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4459 Dynamic Launch Configuration Shortcuts - show toolbar icon & consider key
binding for read-only configurations
Bugfixes
• DVT-3642 Select word under cursor and find next occurrence (Ctrl + 8 <=> Alt + Shift +
Up, Ctrl + K)
• DVT-3765 Wildcard patters don't work for Windows network paths like \\...\...\...
• DVT-3978 Build Config Editor - Environment vars defined in the build file are not shown
by content assist
• DVT-3979 Build Config Editor - Content assist for relative paths will not work properly if
compilation root changes
• DVT-4376 In default.build, when trailing + is missing for a directive, DVT throws an
IndexOutOfBounds error
• DVT-4393 In IUS.IRUN compatibility mode, directives should be case-insensitive.
• DVT-4423 Code Templates View automatically expands on resource change causing
selection loss
• DVT-4424 In default.build: allow defining env variables with names containing other env
variables
• DVT-4431 Allow text being selected in a single editor at a time
• DVT-4437 Project Templates should not consider x_param__ or __param_x as valid
parameters
• DVT-4444 Specman error message not recognized by run configurations filters
• DVT-4445 Specifying -snpath in default.build without any prior SPECMAN_PATH
definition triggers an internal error
• DVT-4446 In default.build, warn when -snpath appends to an existing SPECMAN_PATH
value
• DVT-4448 Disable DVT section from project properties page if the project does not have
any DVT natures
• DVT-4453 Ability to change path pattern wildcard timeout for default.build by
+dvt_path_pattern_timeout+<seconds> directive
3.2.10 (24 December 2012)
Enhancements
• DVT-3105 Change project (update views) when working with editors on config files
© AMIQ
324
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4127 Trace port in gate level designs (netlists)
• DVT-4279 Auto-insert pair character when typing '"', '{', '[' or '('
• DVT-4309 Update external builder default command to use ${dvt_current_build_file}
• DVT-4397 Support for multiple selection in Directory Files Listing (Custom Dialogs widget)
• DVT-4398 New Linked Resource Wizard fields are empty when triggered after selecting an
Auto-Linked file
• DVT-4400 Ability to discard the id of a Custom Dialog widget, when its value is empty
Bugfixes
• DVT-4278 Diagram editor help button doesn't work
• DVT-4353 Eclipse Juno - Cancel Custom Dialog triggers an error instead of canceling the
action
• DVT-4399 Eclipse Juno - Add support for build buttons and dynamic Run Configuration
shortcuts
• DVT-4404 Refresh on external builders property page does not work after removing/
modifying a builder
• DVT-4416 Auto-indent issue for "if-then-else" nested statements
3.2.9 (11 December 2012)
REMOVED
• DVT-4383 Removed Glance plugin because it was causing problems with views repainting
Enhancements
• DVT-3809 Buttons on main toolbar for increasing / decreasing the editor's font size
• DVT-4367 Updated code templates to place cursor in right position after insertion
• DVT-4379 Cleaned formatting for code templates
• DVT-3950 DVT CLI should select the project after createProject/importProject
• DVT-4147 Trigger warnings for the ignored directives encountered in default.build
• DVT-4180 Add invocations list and number of waived issues to build log
• DVT-4213 Add refresh command to DVT CLI
• DVT-4358 Add quit command to DVT CLI
• DVT-4371 Console button for printing build log summary
© AMIQ
325
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Bugfixes
• DVT-4169 On some OSs, after Quick actions (ex. Quick Outline) the focus is lost for entries
in the current file
• DVT-4184 Cannot delete project from disk, in windows and some linux OSs due to
dvt_build.log still held open
• DVT-4366 File extension resets to default when changing file's name in New File Wizard
• DVT-4377 Editor freezes sometime due to an infinite loop in syntax highlight algorithm
• DVT-4378 Console logs filters don't properly highlight some log message regions
• DVT-4382 Code templates preview does not use the global font settings
• DVT-4384 The -f include tree is printed multiple times in the build console for mixed
language projects
• DVT-4385 Semantic errors are not reported in Build Console
• DVT-4389 Fixed Project -> Add to Test files, incdir... for Eclipse Juno
3.2.8 (4 December 2012)
REMOVED
• DVT-4361 Removed key binding for "Select Project" (Ctrl+Shift+Z) because it was in
conflict with the new binding for "Redo"
Enhancements
• DVT-3576 Multiple hyperlinks from instance to component, entity, architectures
Bugfixes
• DVT-3984 Added back the key binding Ctrl+Y for "Redo" as it was changed in Eclipse to
Ctrl+Shift+Z
• DVT-4362 Fixed empty key bindings for rebuild internal and external commands
3.2.7 (3 December 2012)
Enhancements
• DVT-4069 Updated Eclipse Platform to 3.8.1 and all the plugins from distribution
• DVT-4156 Semantic references search in the current file
• DVT-4222 Hierarchical Filtering in the Instance Tree View using slash (/)
• DVT-4272 Run Configurations Launch Command - add support for Windows
© AMIQ
326
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4311 Show file extensions based on project's natures in New File Wizard
• DVT-4318 Added default.build editor color preferences in DVT Themes
• DVT-4324 HtmlDoc comment pragma to exclude types from documentation
(@dvt_no_html_doc)
• DVT-4328 Added invocation number for console reported syntactic errors
• DVT-4339 Disabled Eclipse Update Site in distributions to speed up the updates (to enable
use Preferences -> InstallUpdate -> Available...)
Bugfixes
• DVT-4164 Fixed default spelling dictionary for DVT distros
• DVT-4211 In column selection mode, fixed line duplication when inserting a space after
closing item (ex. after END)
• DVT-4330 Spurious AssertionFailedExceptions might occur when switching current build
• DVT-4338 Wrong nothing to compile message when multiple invocations in default.build
• DVT-4350 Autocomplete issue when function argument name matches one of the template
variable name (e.g 'file_name')
• DVT-4351 Missing toolbar labels (in Window -> Customize Perspective -> Toolbar
visibility)
3.2.6 (19 November 2012)
Enhancements
• DVT-4185 Added Custom Dialog screenshot to documentation
• DVT-4216 Right-clik on a folder in DVT Auto-linked and Link Resource in Project Root
• DVT-4254 Inserted code template by drag & drop from Templates view now indents the code
• DVT-4257 Added a Build tab for DVT Generic Launch Configuration
• DVT-4282 HtmlDoc - option added to remove "by <username>" watermark in the
generated .html pages
• DVT-4285 Update the problem markers differentially
• DVT-4292 Added support for "std_logic_misc" predefined package
Bugfixes
• DVT-3888 Skipped/Ignored files are not properly decorated
• DVT-4137 Code templates editor now has the same background color as the DVT editor
© AMIQ
327
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-4269 Slow editing when block selection mode is used on hundreds lines of code
• DVT-4280 Incremental build duplicates errors when file is a symbolic link
• DVT-4283 Sometimes opening a file causes its error markers to disappear
• DVT-4284 Incremental build disables marker limits for the semantic problem markers
• DVT-4286 In default.build, some windows paths are interpreted as unicode
• DVT-4290 In vcs compatibility modes, un-escaping of strings does not work correctly in
argument files included with -file directive
• DVT-4297 Code Templates View hangs when creating a new template
• DVT-4300 Sometimes semantic errors are not restored at platform restart
3.2.5 (6 November 2012)
REMOVED
• DVT-3975 Removed outline view link with editor feature (not always working correctly on
lazy tree)
Enhancements
• DVT-3827 Update error markers when opening a file that has errors but no markers (due to
Problems View marker limits)
• DVT-4221 Ability to Show Instance Tree on right-click on a node in the Instance Tree View
Bugfixes
• DVT-4146 System variables not expanded for +dvt_compilation_root directive
• DVT-4132 Custom dialog example missing from File > New > Example menu
• DVT-4200 Un-escaping of strings in default.build does not work
3.2.4 (26 October 2012)
Enhancements
• DVT-4102 Predefined Projects - uvm-1.1c library and uvm-1.1c_ubus project added
Bugfixes
• DVT-4126 New Project Wizard - Unable to create a project when the project location is
changed
• DVT-4201 Fixed deadlock between outline and build process
3.2.3 (17 October 2012)
© AMIQ
328
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Enhancements
• DVT-554 Dropdown for external build button: invoke a certain external builder. See How
to invoke external builders
Bugfixes
• DVT-4088 New Project Wizard - add option to specify the project's name. See Open a Project
• DVT-4092 New File Wizard exception when creating files that are not associated with DVT
editors
3.2.2 (12 October 2012)
Enhancements
• DVT-3618 Instance Tree View: option to copy instance path (right-click menu).
• DVT-4045 Store diagrams generated via shortcuts in the dvt_diagrams/ directory
Bugfixes
• DVT-4079 Code templates not visible when creating them from the Code Templates View
3.2.1 (11 October 2012)
Enhancements
• DVT-4061 Syntax highlight for user defined types
• DVT-4062 Show busy indicator when generating large diagrams
• DVT-4072 Ability to include ports by name in module diagrams
Bugfixes
• DVT-4071 Selection slow-down in DVT editors
• DVT-4073 Too many view (instance tree, types, layers, etc.) update notifications received
during build
3.2 (9 October 2012)
HIGHLIGHTS
• Support for multiple build configurations.
• Enhanced the support for mixed language projects. Hyperlinks, design hierarchy, tracing and
diagrams work across Verilog and VHDL.
• Unified default.build instead of .edt_top_files, .vlog_top_files and .vhdl_top_files. See Build
Configurations.
© AMIQ
329
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• Module Diagrams
• Trace Port Connections
• Connect Instances Across the Design Hierarchy
REMOVED
• DVT-4021 Removed eclipse.sh and eclipse.bat scripts (deprecated in 3.0.4)
DEPRECATED
• DVT-3498 Deprecated internal builder preference "Restrict '*.v' and '*.vh' files to
Verilog-2001 syntax" (use Language Syntax directives instead). See All Build Directives.
• DVT-3669
Deprecated
.dvt/.edt_top_files.
.dvt/.edt_defines,
.dvt/.edt_ignore_files,
.dvt/.edt_test_files,
.dvt/.edt_specman_path.
See Build Configurations.
• DVT-3883 Deprecated internal builder preference pages. See Build Configurations.
• DVT-3885 Deprecated disable_ext+all (use +dvt_ext_unmap_all instead). See All Build
Directives.
• DVT-3997 Pop-up deprecation warning when using old .dvt/.*_top_files configuration files
with the ability to dismiss per session. See Build Configurations.
CLEANUP
• DVT-3085 Autocomplete in *.build and command (*.f) files in general
• DVT-3891 Mixed Language Support: Modify "add to top files" to "add to *.build"
• DVT-3937 Move language specific workspace preferences under the DVT section
• DVT-3938 Move language specific project properties under the DVT section
• DVT-4053 Rename .dvt/.dvt_builders file to external_builders.xml. See External Builders.
• DVT-4054 Rename .dvt/log_styles file to log_styles.xml. See Smart Log
Features
• DVT-130 Mixed Language Support: Unify the Instance Tree View.
• DVT-1088 Support for multiple build configurations. See Build Configurations.
• DVT-3349 Refactor connect ports for VHDL
• DVT-3577 Mixed Language Support: Module diagrams for mixed Verilog and VHDL
projects. See Module Diagrams.
© AMIQ
330
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2846 Mixed Language Support: Unify .*_top_files under default.build. See Build
Configurations.
• DVT-3890 Mixed Language Support: New editor for *.build files. See Build
Configurations.
• DVT-3893 Mixed Language Support: Unify the wizards for creating projects and files
• DVT-3907 Mixed Language Support: Unify the external builders. See External Builders.
Enhancements
• DVT-68 Support for compilation root specification in default.build. See All Build Directives.
• DVT-554 Dropdown for selecting a specific external builder. See External Builders].
• DVT-2608 Cross language check when reporting undeclared components/modules
• DVT-3089 Propagate system variables to external tools integration. See External Tools
Integration.
• DVT-3252 Improved file navigation for the files exceeding 10K lines
• DVT-3359 Trigger diagrams from the Types View, Instance Tree View and Editor context
menu. See Module Diagrams.
• DVT-3491 Issue warning when dvt_cli doesn't get both arguments for -map. See Command
Line Interface.
• DVT-3578 Add support for +dvt_skip_compile+ directive in default.build. See Build
Configurations.
• DVT-3751 Add a -perspective switch to the dvt_cli.sh createProject command. See
Command Line Interface.
• DVT-3790 Include diagrams in HTML Documentation. See Export HTML Documentation.
• DVT-3796 Add external tools variable containing the path to current build file. See External
Tools Integration.
• DVT-3810 Added vcs.vhdlan Compatibility Mode in build configurations. See See Build
Configurations.
• DVT-3824 Support for case-insensitive directives in ius compatibility modes. See All Build
Directives.
• DVT-3857 Tooltip colors (mouse hover, folding, errors) can be configured from Preferences
-> General -> Appearance -> Colors and Fonts
• DVT-3886 Mixed Language Support: Unify "Nothing to compile" dialog with the ability
to dismiss per session
© AMIQ
331
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-3892 Update predefined projects. See Predefined Projects
• DVT-3908 dvt_plugin_installer.sh for customizing the Eclipse installation works with any
update site
• DVT-3923 Signal error when multiple -work flags are provided for the same invocation, and
only consider the first one. See Build Configurations.
• DVT-3926 Alias +dvt_setenv+ to +dvt_env+. See Build Configurations.
• DVT-3927 Warn when encountering unknown +dvt_ directives in default.build. See Build
Configurations.
• DVT-3948 Prompt for project selection when rebuild/clean is triggered if no project is
selected
• DVT-4003
Build
configuration
directives
for
controlling
+dvt_build_log_to_console, +dvt_build_log_to_file, +dvt_build_log_file
build
• DVT-4006 Add support for +dvt_incremental_compile_max_lines+
default.build. See All Build Directives.
directive
log:
in
• DVT-4007 Add support for +dvt_auto_link+ directive in default.build. See All Build
Directives.
• DVT-4012 Predefined Projects wizard - add progress monitor while copying a project
• DVT-4018 Mixed Language Support: Add Code Templates View to the DVT unified
perspective. See Code Templates View.
Bugfixes
• DVT-2296 Content assist for protected types
• DVT-2574 Matching generate - end for "for ... generate " does not work
• DVT-3042 Syntax Page - Restore defaults does not work
• DVT-3706 Don't allow creating a no-nature project with dvt_cli.sh. See Command Line
Interface.
• DVT-3778 dvt_cli.sh should detect locked workspaces and die quickly and gracefully. See
Command Line Interface
3.1.16 (5 October 2012)
Bugfixes
• DVT-4026 Optimize workingset creation via dvt_cli.sh createProject / importProject
• DVT-4031 DVT Auto-linked update on rebuild doesn't work when linked resources are
changed
© AMIQ
332
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
3.1.15 (3 October 2012)
Enhancements
• DVT-4022 Support escaped quotes in build configuration files
Bugfixes
• DVT-3989 "reject" should not be treated as a keyword in VHDL-1987
3.1.14 (27 September 2012)
Bugfixes
• DVT-3977 Limit console log filters to match max. 8 consecutive lines and 256 characters
per line for each error/warning message (customizable) (more details here)
• DVT-3992 Platform freeze sometime after pressing text formatting button
• DVT-4000 'Insert spaces for tabs' option no longer working correctly
3.1.13 (18 September 2012)
Enhancements
Bugfixes
• DVT-3965 One key indentation not working when "Insert spaces for tabs" preference is
selected
• DVT-3971 Outline view selected element is not revealed (scroll view) when linked with
editor
Bugfixes
• DVT-3874 Hyperlink using F3 not working from VHDL to Verilog file in mixed projects
3.1.12 (13 September 2012)
Enhancements
• DVT-3084 An easier way to copy the full path to the file in the editor (more details here)
Bugfixes
• DVT-3957 Updated Clearcase plugin to latest to fix a compare from history bug
• DVT-3956 When opening an auto-linked file from a run configuration console link it is
opened as outside project
3.1.11 (7 September 2012)
Enhancements
© AMIQ
333
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-3701 Directives for controlling file extension to Language Syntax mapping
• DVT-3933 Keyword set selection for VHDL compilation (87, 93, 2000, AMS 1999)
Bugfixes
• DVT-3915 Internal builder logs - missing highlighting & hyperlinks
• DVT-3928 When opening an auto-linked file through dvt_cli.sh it is compiled out of any
context
• DVT-3932 Updated Clearcase Plugin to fix diff view problem
3.1.10 (1 September 2012)
Enhancements
• DVT-3875 Updated Terminal plugin and added terminal colors in DVT themes
• DVT-3887 Added launch configuration example for Questa on Windows (in uvm-1.1_ubus
predefined project)
Bugfixes
• DVT-2668 Autoindent issue when inserting tab
• DVT-3137 Added exit to launch configurations interactive shell example to prevent throwing
DVT in background
• DVT-3807 Logger exceptions occur when restoring project rght after platform startup
• DVT-3872 Unexpected char errors due to non-ASCII chars in build files
3.1.9 (13 August 2012)
Removed
• DVT-2957 Removed SOLARIS release
Features
• DVT-3090 Added Terminal plugin to Linux and MacOS distros
• DVT-3441 Updated statically compiled dot and used by default in Linux distos
Bugfixes
• DVT-3848 Errors/warnings on file specified through multiple symlinks are reported as out
of the project
• DVT-3849 File specified through multiple symlinks is incrementaly recompiled as out of the
project after platform restart
© AMIQ
334
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-3856 Restore defaults on Internal builder page not consistent with the defaults at project
creation time
3.1.8 (7 August 2012)
Enhancements
• DVT-2898 Updated ViPlugin build
• DVT-3841 Updated all plugins in distribution
Bugfixes
• DVT-3831 Hyperlink from default.build opens files specified with paths going through
symlinks as gray files (outside project)
• DVT-3830 File specified through multiple symlinks is incrementaly recompiled as out of
the project
• DVT-3842 Fixed argument passing in deprecated scripts
3.1.7 (2 August 2012)
Bugfixes
• DVT-3764 Obsolete syntax errors might re-appear on reapply waivers
• DVT-3802 VHDL Syntax Problems are reported twice in the DVT Build Console
• DVT-3805 Exception when selecting a closed project in the DVT perspective while Types
View is open
• DVT-3806 Exception when selecting the Types View in the DVT perspective before restore
is done
• DVT-3807 Logger exceptions occur when restoring a project right after platform startup
• DVT-3821 Move Resource Filters UI to DVT Section in project properties
3.1.6 (24 July 2012)
Bugfixes
• DVT-3768 Resource Filters - recursive symlinks not visible in UI
3.1.5 (11 July 2012)
Enhancements
• DVT-3747 Add support for custom location on toolbar for Run Configuration buttons
3.1.4 (10 July 2012)
© AMIQ
335
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Enhancements
• DVT-3660 Undeclared component semantic problem default severity changed to warning
(consistent with Verilog undeclared module)
• DVT-3490 Ability to avoid full build when importing a project, by restoring from a saved
snapshot
• DVT-3725 Ability to specify custom per-project location for the DVT database with
+dvt_db_location flag in default.build
Bugfixes
• DVT-3716 No incremental compilation on non-default extensions even if file associations
and content types are properly set
• DVT-3731 Waivers are not applied at project restore
3.1.3 (2 July 2012)
Enhancements
• DVT-3574 Show only files with errors in Compile Order View
• DVT-3588 Added progress dialog for Directory Files Listing widget (Custom Dialogs)
• DVT-3634 Added server name and license count on DVT License Info Page
Bugfixes
• DVT-2296 Content assist proposals for protected types
• DVT-2574 Matching generate - end for "for ... generate " does not work
• DVT-2668 Autoindent issue when inserting a tab
• DVT-3609 Resource Filters Dialog - ignore a directory linked to one of its parents
• DVT-3616 Internal error when using +dvt_env+<var> without assigning a value
• DVT-3630 Should only invoke internal builder when asking for project rebuild
• DVT-3676 Path wildcard not taken into account when using only '?'
• DVT-3692 Resource filters & CLI: -excluded folder doesn't show up in project, but it shows
as unexcluded in resource filters
• DVT-3702 dvt_cli.sh documentation errata: excludes managed by DVT's Resource Filters
UI are only those specified by projectRelativePath
3.1.2 (15 June 2012)
© AMIQ
336
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Enhancements
• DVT-2907 Document Compile Waivers
• DVT-3543 Warn deprecated directive usage in build config files
• DVT-3554 DVT sanity check - check for available space in .eclipse location instead of
"home"
• DVT-3580 Select top architecture in instance tree takes too much time when thousands of
elements
• DVT-3583 Instance Tree View - ability to dump to file the list of autodetected top
architectures
Bugfixes
• DVT-3571 Under FC15 OS the -s option of dvt_cli.sh does not suppress all messages
• DVT-3575 dvt_cli.sh script documentation does not work
• DVT-3582 Dynamic shortcuts - icon path support for environment variables
• DVT-3585 Dynamic shortcuts - rename Accelerator > Shortcut
3.1.1 (6 June 2012)
Enhancements
• DVT-2550 DVT CLI - ability to specify project-relative paths with -map argument
• DVT-3489 dvt_cli.sh create*Project commands should pick up existing build config files if
no build config flags are specified (e.g. -f, -top, -test)
• DVT-3540 Automatically refresh .dvt folder at full build
• DVT-3546 dvt_cli.sh should automatically infer hostname of the running DVT instance
• DVT-3553 Updated predefined projects build command
Bugfixes
• DVT-3534 Instance tree is not populated when an instance of an unknown entity or
component is found
• DVT-3547 dvt_cli.sh excludes are not taken into account at the initial refresh
• DVT-3550 Switching from .*_top_files to default.build and back does not work (nothing is
compiled)
3.1 (1 June 2012)
Features
© AMIQ
337
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2363 Code Templates View
• DVT-2450 Create new toolbar button & keyboard shortcut from run configuration (more
details here)
• DVT-3361 Resource filters wizard (more details here)
• DVT-3362 Create linked resources wizard
• DVT-3436 Added dvt_updater.sh script for install/uninstall/update operations
Enhancements
• DVT-606 Configurable source formatter
• DVT-1884 Dedicated predefined external builders for OVM/UVM/VMM
• DVT-2965 Project config files - multiple selection in dialog with proposals for wildcards
matching multiple paths
• DVT-2980 Integration with Altera Quartus II
• DVT-3022 Automatic instantiation with configurable port order
• DVT-3041 Refactoring Rename- user must be forced to review the changes when potential
matches
• DVT-3165 Add support for +dvt_skip_ext+.ext
• DVT-3221 Logging and debug functionality for Linux/Unix
• DVT-3254 Set "Always launch the previously launched application" as default in distro
• DVT-3259 Suppress dvt.bat terminal in Windows
• DVT-3280 Autoinstance preserving ports order and comments fails for multiple single line
comments
• DVT-3292 Formatting preference for line wrapping parameters : "Leave as is"
• DVT-3313 Ability to use "Open with" dvt.bat in Windows
• DVT-3340 Semantic checking of process label names
• DVT-3341 Select the entire block when double-click on keyword 'begin'
• DVT-3422 Formatting should be undone in case code was deleted or added during the process
• DVT-3443 Added build console preference in Preference -> General -> Appearance ->
Colors and Fonts -> DVT -> Console
• DVT-3451 Some errors might not be reported in default.build when multiple project natures
are activated
© AMIQ
338
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-3476 Sync DVT CLI usage in script / application / user guide
• DVT-3469 Vertical alignment using comma as a token
Bugfixes
• DVT-2571 No folding on entity keyword and no matching entity keyword with its end
• DVT-3062 Waive should create a single logical AND match clause using path and message
• DVT-3284 The entity "nbsp" was referenced, but not declared - sn 11 / sn_eref.xml
• DVT-3289 Formatting issue for attributes of procedures and functions
• DVT-3318 Formatting issue for parameters with vertical alignment
• DVT-3339 Formatting error with case-when statements
• DVT-3341 Select the entire block when double-click on keyword 'begin'
• DVT-3342 Wrong indention when you change the last line in process/procedure
• DVT-3374 DVT Auto-linked update on rebuild doesn't work when linked resources are
changed
• DVT-3399 Match begin - end does not work for "entity ... end entity"
• DVT-3467 Formatting preference for vertical alignment tokens is greyed out
• DVT-3499 Formatting region should keep starting line indent as reference
• DVT-3509 "Stop Current Rebuild Job" doesn't work when "Build Automatically" is enabled
• DVT-3749 Unexpected switches passed to dvt_cli.sh are treated as arguments of the last
known switch
3.0.10 (23 May 2012)
Bugfixes
• DVT-3322 Fixed "See all available licenses" bug when license source contains multiple
servers
• DVT-3459 Fixed a race condition in the license client
3.0.8 (9 May 2012)
Enhancements
• DVT-2739 Enable internal builder console should be default on
• DVT-3214 Disable incremental compilation of big files should be default on
© AMIQ
339
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-3240 Memory cleanup issues on successive project rebuilds
• DVT-3392 Refresh "dvt_build.log" file when build is done
Bugfixes
• DVT-3249 External Builder error decorations are not updated on incremental build
• DVT-3365 "What's New" and "Report an Issue" buttons are visible in other perspectives
• DVT-3366 Project Templates uppercase - lowercase conversion bug
3.0.7.9 (29 April 2012)
Enhancements
Bugfixes
• DVT-3315 When changing the top files sometime the auto-linked folder is not properly
updated on the first build
3.0.7.8 (24 April 2012)
Enhancements
• DVT-3022 Automatic instantiation with configurable port order
• DVT-3112 Ignore backslashes in command files
• DVT-3121 Command files: support -flag "several arguments here treated as one" or -flag
'some args'
Bugfixes
• DVT-3280 Autoinstance preserving ports order and comments fails for multiple single line
comments
• DVT-3289 Formatting issue for attributes of procedures and functions
• DVT-3291 Non-ascii characters trigger errors in argument files (.*_top_files etc.)
• DVT-3302 Add from Template replaces __FILE__, __LINE__ with FILE, LINE.
• DVT-3305 Ctrl+H isn't updated with the text selection in the editor
• DVT-3311 Syntax error markers are not displayed at full build after reaching the marker
limits
3.0.7.7 (13 April 2012)
Enhancements
• DVT-2586 Support for mixed languages in DVT_CLI
© AMIQ
340
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2986 Add -eclipsespace flag for dvt_cli.sh, alias -eclipse_area to -eclipsespace
• DVT-3113 Add support for -F for dvt_cli.sh
• DVT-3168 Add to default list of known extensions: .a, .o, .cc
• DVT-3199 Reduce memory consumption after project close/delete
• DVT-3200 Reduce time for error dispatching algorithm
• DVT-3201 Added more debugging info in console
• DVT-3212 Add -force flag for dvt_cli.sh importProject (replace existing project with same
name)
• DVT-3228 dvt_cli.sh - remove constraint that the project directory should exist apriori; create
if it does not exist
Bugfixes
• DVT-2851 Toggle mark occurences triggers exception when the active editor is not a DVT
editor
• DVT-2995 Ctrl+H doesn't remember option selection
• DVT-3213 Function/procedure hyperlink and hover not working
3.0.7.6 (30 March 2012)
Bugfixes
• DVT-2015 Functions with the same name but different signature are not shown in content
assist
• DVT-2814 PDF doc links from training labs are broken
• DVT-3013 Multiple selection dialog on -F hyperlink in top_files although only one file
specified
• DVT-3076 __FILE__ and __LINE__ get in the way of project templates
• DVT-3110 Console log errors are not properly hyperlinked
• DVT-3119 Total number of errors in console varies after successive builds
• DVT-3133 When creating a linked resource to a folder, the compiled sources contained in
that folder should dissapear from auto-linked on next build
• DVT-3134 Removed default activation of ClearCase action set menu (use Dro.amiq.dvt.showClearcaseActionSet=true)
• DVT-3142 Sometimes semantic errors might be reported before syntax errors
© AMIQ
341
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-3171 Copy full path on linked resource/virtual folder does not work
3.0.7.5 (16 March 2012)
Enhancements
• DVT-2896 Added Cliosoft SOS plugin to distros
• DVT-2992 DVT Project selector - shortcut (CTRL+SHIFT+Z) & simple list view of open
DVT Nature projects
• DVT-3073 Added JDT (Java Development Tools) plugin to distros
Bugfixes
• DVT-3067 When adding new function arguments or entity ports the autocomplete shows
them in the wrong order after incremental build
• DVT-3071 Fixed error when generating diagrams in a path with spaces
3.0.7.4 (8 March 2012)
Enhancements
• DVT-2997 Added Ctrl+Shift+A as duplicated key binding for "Toggle Block Selection
Mode"
• DVT-3049 Added "See available licenses" button in license page
Bugfixes
• DVT-3045 Trimming white space characters from license variables
• DVT-3050 Fixed file license multiple initialization problem
3.0.7.3 (5 March 2012)
Enhancements
• DVT-2958 Added open dvt_build.log file build console button
• DVT-2959 Added cancel current rebuild job build console button
Bugfixes
• DVT-3029 Removed UseCompressedOops from 64 bits linux distros since it can cause
segmentaion fault
• DVT-3030 dvt.sh on MacOS doesn't invoke the right binary
• DVT-3036 What's new in DVT for VHDL missing
3.0.7.2 (1 March 2012)
© AMIQ
342
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Enhancements
• DVT-2990 Add to "Compare with" menu the generic resource compare
Bugfixes
• DVT-3028 Fixed local license problem affecting a small set of features
3.0.7.1 (29 February 2012)
Enhancements
• DVT-2333 Added Glance plugin to distribution (incremental search in any view)
• DVT-2807 Search does not locate matches in unsaved files (when no incremental is done)
• DVT-2981 Option to select where to save the build log file
• DVT-2996 Ability to keyboard-collapse/expand the nodes in (quick) tree views using left/
right arrows
Bugfixes
• DVT-2969 Splash and license settings validation sometimes start without using DVT
functionality
• DVT-3011 Wildcards in top files don't work under Windows
• DVT-3014 Run configuration filters - ${file} var doesn't recognize Windows paths
• DVT-3026 Updated ClearCase plugin to fix the NullPointerException
3.0.7 (13 February 2012)
Features
• DVT-48 Hyperlinks in argument files (.vhdl_top_files, -f, etc.)
• DVT-533 Setting system variables in DVT for full build
• DVT-2312 Go to Next/Prev Problem
• DVT-2903 Ability to specify project configuration for all languages in a single file
• DVT-2906 Added Show Changed Preferences Dialog in Window menu
Enhancements
• DVT-2419 Ability to use system variables in waivers
• DVT-2453 Option to disable incremental build for large files
• DVT-2487 Sort problems in problems view by the creation time/reporting order
© AMIQ
343
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2514 Support for multiple DVT_PREDEFINED_PROJECTS system variables
• DVT-2540 Added Javascript search in generated HTML documentation
• DVT-2623 Show if a project has multiple natures & their names as a label decorator in
navigator
• DVT-2726 Highlight only the word when jumping to declaration
• DVT-2750 Problems view - ability to right click and "Waive problems like this"
• DVT-2753 Vertical alignment option should only align equivalent characters
• DVT-2784 Autocomplete should only match from the beginning of word or right after an
underscore
• DVT-2828 Make automatic component binding if there is an entity with the same name as
the component
• DVT-2848 Allow waivers with no name
• DVT-2856 Option to copy full path in Navigator
• DVT-2868 Rebuild triggers should be ignored if already building the project
• DVT-2870 Quick Types view cluttered when many libraries - hard to locate relevant data
type when filtering
• DVT-2889 Jump to assignment instead of declaration
• DVT-2921 Unexpected token errors when using 'procedural' as identifier
• DVT-2924 Reapply waivers after Create Problem From waiver
• DVT-2930 Dump build console output on disk
• DVT-2925 Refine the problem waiving message reported in the Internal Builder console
(explicitly specify waiving)
• DVT-2938 & DVT-2934 Select top architecture - if more than 10 architectures open a filtered
selection list
• DVT-2939 Fail to create auto-linked files for network mapped files in Windows
• DVT-2944 Limit max number of problem markers per problem category and severity to 1000
• DVT-2948 Report only first 20 errors in DVT Build Console and the total number of errors
Bugfixes
• DVT-2576 When creating a new file point out that the empty template can be customized
just like any other
© AMIQ
344
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2718 New VHDL file is automatically populated with entity template if not saved
before closing
• DVT-2742 Instance tree misc bug fixes
• DVT-2748 Formatting the source sometimes makes the cursor jump to another position
• DVT-2869 NullPointerException when Instance Tree show top entities is pressed
• DVT-2871 Instance tree history items should show "architecture OF entity" instead of
"architecture" only (confusing, as all the architectures may have the same name)
• DVT-2913 Fixed deadlock on workspace when a new project is created
• DVT-2923 Updating markers for 25K files with problems hangs the UI
• DVT-2926 Hyperlinks in project configuration files should open dialog with proposals for
wildcards matching multiple paths
• DVT-2927 On mixed Verilog/VHDL loading the VHDL identifier index fails
• DVT-2949 New file wizard - new file's name changed to "new_file"
3.0.6.6 (23 January 2012)
Bugfixes
• DVT-2877 Several exceptions thrown when closing a project
• DVT-2881 Crash on Windows platform when outline view linked with editor is active
3.0.6.5 (17 January 2012)
Enhancements
• DVT-2854 Ignore known extensions of other languages in top files file when +disable_ext
is on; +disable_ext+all disables all extension checking
• DVT-2865 Enhance problem management performance on full build
Bugfixes
• DVT-2801 F3 jumps to component instead of entity declaration on instantiated components
3.0.6.4 (10 January 2012)
Enhancements
• DVT-2606 Multiple hyperlink on component/instance (jump to entity declaration)
• DVT-2828 Automatic component binding if there is an entity with the same name as the
component
© AMIQ
345
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Bugfixes
• DVT-2844 Too many open files exception when loading 1000s of empty files
3.0.6.3 (27 December 2011)
Enhancements
• DVT-2757 Added support for -file in .vhdl_top_files
Bugfixes
• DVT-2776 Autolinked resources are no longer removed if autolink flag is unset
• DVT-2794 Deadlock when refreshing during a refactoring operation
• DVT-2798 NullPointerException when warnings reported outside project
3.0.6.2 ()
Enhancements
• DVT-2606 Multiple hyperlink on component - jump to entity declaration
• DVT-2778 Added a black DVT Theme
• DVT-2793 DVT_PREDEFINED_PROJECTS_TARGET
predefined projects
environment
variable
for
Bugfixes
• DVT-2756 False undeclared component error
• DVT-2777 Fixed DVT Theme selection dialog filter
3.0.6.1 (12 December 2011)
Enhancements
• DVT-2688 Move reference search to the new indexer mechanism
• DVT-2727 Search for references takes too much time on big environments (e.g. 20s for 5k
files)
• DVT-2740 Prepacked distro performance increased due to "-Xverify:none" vmarg
• DVT-2741 "Show heap status" activated by default in prepacked distros
Bugfixes
• DVT-2752 Wrong error reported when using 'break' as identifier
• DVT-2762 External builder exception - Variable references empty selection
© AMIQ
346
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2765 False undeclared component error (case sensitivity issue for components)
• DVT-2766 Instance tree doesn't work when block configuration is declared under a
component configuration
3.0.6 (1 December 2011)
Features
• DVT-642 add .vhdl_top_files support for multiple "instructions" on a single line like
+vhdl_libmap+libname +disable_ext file.vhd
• DVT-1179 Support for wildcards like *.vhd, *.vhdl etc. in top files
• DVT-2455 CamelCase-like autocomplete
Enhancements
• DVT-1350 Do not allow tabs in the editor (copy/paste, using templates etc.)
• DVT-2179 Perform out of sync check before search and ask for refresh
• DVT-2330 Hyperlinks for progress log in Internal Builder Console
• DVT-2338 A drop-down list to select from top architectures in the Instance Tree View
• DVT-2412 Full build console - show start/end of the compiled file
• DVT-2449 New custom dialog - drop-down with files from a directory
• DVT-2496 Updating error/compiled/ignore properties on resources takes a long time
• DVT-2500 Extended help for external builder logs (for IUS filters)
• DVT-2532 Overwrite MALLOC_CHECK_=1 env variable to avoid crashes
• DVT-2565 Optimize algorithm for solving workspace resources
• DVT-2617 Support custom eclipse.ini in dvt_cli.sh
• DVT-2644 Edit DVT Waivers button in Problems View (easy way to start a waivers file)
• DVT-2640 Show blocks in instance tree
Bugfixes
• DVT-2307 Console hyperlinks get opened with wrong editor
• DVT-2404 Removed the project context menu -> Source -> Format option that
breaks .project
• DVT-2436 Html Documentation wizard shows predefined libraries : ieee, std, __vhdl_std
© AMIQ
347
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2481 Multiline templates are not indented
• DVT-2483 Hyperlink doesn't work on ports in architecture
• DVT-2361 VHDL semantic checking is not enabled until an incremental build is triggered
• DVT-2502 Tool bar section title for "What's new" & "Report an issue" buttons
• DVT-2361 VHDL semantic checking is not enabled until an incremental build is triggered
• DVT-2537 Exception thrown when canceling a DVT Custom Dialog started by an external
builder
• DVT-2563 Report reapply waivers time in DVT Build Console
• DVT-2620 Rename 'include/import tree' & 'load order' to 'compile order'
• DVT-2604 Hierarchy is not shown when components are defined inside packages
• DVT-2635 Search by type (Ctrl+H) for components shows entities
• DVT-2684 Changing the location of a file outside project requires 2 builds to correctly autolink the file
• DVT-2700 Missing scroll bar on predefined projects list
3.0.5.5 (21 November 2011)
Bugfixes
• DVT-2591 Obsolete DVT Auto-Linked resources are not cleaned up
• DVT-2593 Files with unknown extensions always ignored in .vhdl_top_files
• DVT-2595 Wrong error reported on alias declaration
• DVT-2596 Wrong unexpected token 'limit' when using it as identifier
• DVT-2597 Wrong error reported on bitwise operations
• DVT-2627 Wrong UNDECLARED_COMPONENT error when the component's name
contains full path: 'library_name.package_name.component_name'
3.0.5.4 (8 November 2011)
Enhancements
• DVT-2215 Option for dvt_cli.sh to import workspace settings
• DVT-2372 Option for dvt_cli.sh not to exit when starting dvt.sh
• DVT-2573 Ability to specify how long DVT CLI should wait for DVT to start (-timeout flag)
© AMIQ
348
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
Bugfixes
• DVT-2361 VHDL semantic checking is not enabled until an incremental build is triggered
• DVT-2431 VHDL References show multiple potential matches
• DVT-2483 Hyperlink doesn't work on ports in architecture
• DVT-2572 DVT Build timeout preference cannot be set by dvt.ini
3.0.5.3 (17 October 2011)
Enhancements
• DVT-2454 Document how to expand aliases in run configurations and change default run
command to interactive mode
• DVT-2458 Save all dirty editors before launching a run configuration
Bugfixes
• DVT-2460 Could not infer project from selection when there is selection but no focus
• DVT-2495 Replace all in a large file takes a very long time
• DVT-2499 NullPointerException in DVTMarkerFactory
3.0.5.2 (23 September 2011)
Enhancements
• DVT-2290 Rename "Generic" run configuration to "DVT Generic"
Bugfixes
• DVT-2425 NullPointerException when warnings reported in files outside project
• DVT-2435 VHDL creating file from template (entity - architecture) generates errors
3.0.5.1 (16 September 2011)
Bugfixes
• DVT-2397 VHDL Syntax Coloring : changing Strings color triggers Exception
3.0.5 (10 September 2011)
Features
• DVT-1852 Rebuild button for internal builder only
• DVT-1979 DVT color theme support for editors and GTK widgets and a predefined "Dark"
theme
© AMIQ
349
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2252 Add semantic error for instantiation of undeclared components
• DVT-2253 Add semantic error for declaration of architectures and configurations of
unknown entities
Enhancements
• DVT-1182 System variables for External Builders
• DVT-2177 Hyperlink for jumping to the "associated type" of an element
• DVT-2242 Support for use clause with list of clauses
• DVT-2248 Support for instance of component with composed named such as
library.component
• DVT-2279 Parser support for protected types
• DVT-2309 Enhance "Nothing to build" warning message (when rebuilding a project with
no sources specified)
• DVT-2314 Support for shortcuts for each rebuild kind (all/internal/external)
• DVT-2336 Option to automatically save editors on rebuild
Bugfixes
• DVT-2308 Add from template does not work in Windows
• DVT-2310 Build Console does not close when closing a Project
• DVT-2341 Add to top files - relative path problem in Windows ("\" -> "/")
• DVT-2349 VHDL syntax error is signaled in comment by unrecognized unicode characters
3.0.4.4 (9 September 2011)
Bugfixes
• DVT-2349 VHDL syntax error is signaled in comment by unrecognized unicode characters
• DVT-2378 Occasional freezes on incremental build due to a deadlock in plugin startup
3.0.4.3 (29 August 2011)
Bugfixes
• DVT-2346 VHDL 'reference' keyword generates syntax error when used as port name
• DVT-2347 VHDL -f option should not compile files with extensions other than '.vhd' and
'.vhdl'
• DVT-2348 VHDL top files / f files does not ignore directives it does not recognize
© AMIQ
350
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
3.0.4.1 (3 August 2011)
Bugfixes
• DVT-2244 References/rename not working on symbolic link files that are linked resources
in Eclipse
• DVT-2254 Search by type not working
• DVT-2256 Fixed problems related to readlink usage in Solaris scripts
• DVT-2257 Changed "Xmx" memory settings to 1024m for 32bit and to 2048m for 64bit
distros
3.0.4 (30 July 2011)
Deprecated
• DVT-2239 Scripts: eclipse.sh, run_gui_mode.sh, run_batch_mode.sh are marked for
deprecation; use instead: dvt.sh, dvt_sv_lint_batch.sh, dvt_sv_lint_gui.sh
Features
• DVT-1134 Option to periodically save dirty editors
Enhancements
• DVT-81 Refactoring potential matches - quick filter/(un)check all
• DVT-1594 Add flag "Show builder progress log in console" in VHDL
• DVT-1945 New file wizard - create from template option
• DVT-1970 incremental build should not remove and re-create all named elements
• DVT-2048 Run Configurations dialog/Quick Run working set filtering options
• DVT-2104 Use clause should be restricted to the scope where it is placed or the design unit
after it
• DVT-2105 Enable tool-tips when 'ALT' key is pressed
• DVT-2112 Add enumerated types to autocomplete, hyperlinks and references
• DVT-2148 f-files support for VHDL
• DVT-2150 VHDL templates preview - syntax highlight added
• DVT-2152 Quick Filter code templates by name in preference pages
• DVT-2153 Add support for record types
• DVT-2158 Add content assist support for record types
© AMIQ
351
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2159 Show workspace location in title bar
• DVT-2172 Add loop index (for loop statements and generates) to autocomplete, hover,
hyperlink, references
• DVT-2176 Add sequential statement labels (for, case, if, while instructions) to hover,
hyperlinks, references
• DVT-2178 When rename refactoring has potential matches - warn in the first page of the
wizard
• DVT-2201 Alt+shift+arrow selects word at cursor
• DVT-2231 Add HINT predefined task tag
• DVT-2235 Show builder errors in console with hyperlink to source file
• DVT-2220 Content assist support for assertion statement with severity clause
• DVT-2236 Content assist, hover and references support for predefined attributes
• DVT-2237 Content assist, hover and references support for accessing entities from within
user-defined libraries
Bugfixes
• DVT-2096 Content assist support after dot
• DVT-2097 Instances on Content assist offer all visible ports not just local ones
• DVT-2110 Adding multiple files to ignore list only adds the first file in the list
• DVT-2116 Attribute double click does not mark all occurrences
• DVT-2162 Help > DVT Quick Help broken links fixed
• DVT-2182 Register architectures and configurations when entity name is a selected name
• DVT-2204 VHDL Quick Import View filtering does not jump to first match
• DVT-2209 Custom Dialog File/Directory choosers fail to open if no "question" is specified
• DVT-2221 Wrong hover for keywords "use", "report", "severity"
3.0.3.3 (22 July 2011)
Enhancements
• DVT-2081 dvt_cli.sh should also look for /bin/nc and /usr/bin/nc by default
• DVT-2148 f-files support for VHDL
Bugfixes
© AMIQ
352
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-2185 A tooltip with long non-whitespace sequences (1000s of characters) freezes the
GUI
• DVT-2194 Incremental and full build fails
3.0.3.2 (14 July 2011)
Bugfixes
• DVT-2145 Avoid using resources in non-accessible state
• DVT-2155 Changed default initialization of preferences to avoid startup crashes in high load
CPU scenario
• DVT-2156 Fixed FlexLM Exception "ArrayIndexOutOfBoundsException" when using
invalid license sources
3.0.3.1 (8 July 2011)
Bugfixes
• DVT-2084
Automatically
DVT_LICENSE_FILE=FLEXLM
infer
DVT_LICENSE_VERSION
when
• DVT-2134 Fixed "Internal FlexLM Error" after waking up from idle
3.0.3 (1 July 2011)
Enhancements
• DVT-1688 Switch for turning off tooltips
• DVT-1978 Added predefined libraries (IEEE, STD, TEXTIO)
• DVT-2051 Parse and auto-link files outside project directory
Bugfixes
• DVT-2050 Types declared in entities are missing from Types view
• DVT-2055 Error is signaled for "file..is in" or "file..is out"
• DVT-2060 Folding does not work properly after attribute...of...function is..
• DVT-2061 Folding does not work for record .. is .. end record;
• DVT-2097 Instances on content assist contain all visible ports not just local ones
3.0.2 (17 June 2011)
Enhancements
• DVT-212 Added Eclipse Marketplace Client to distribution
© AMIQ
353
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-1657 Quick Types & Import Views - independent of editor
• DVT-1907 VHDL parser performance improvements on expression evaluation
• DVT-1919 Added Component auto instantiation
• DVT-1933 Documentation - contexts.xml updated
• DVT-1938 Added source formatting
• DVT-1944 VHDL - What's new & report an issue
• DVT-1952 Added hyperlink and tooltip for types
• DVT-1959 External tools console links jump to resources in current working set
• DVT-1960 Added folding for architecture, function, procedure, loop, component, generate,
process
• DVT-1962 Added folding for port map, generic map
• DVT-1963 Added custom region folding using --{{{ }}}-• DVT-1967 Improvements on hyperlink, tooltip, outline for variables, files, constants
• DVT-1995 +vhdl_libmap+ directive when multiple libraries are used
• DVT-1998 Run Configurations should show quoted arguments when printing the executed
command
• DVT-2010 Predefined project wizard - option to override target directory
• DVT-2016 Instance Tree - multiple enhancements
• DVT-2020 Added Content Assist for default proposals and instances proposals
• DVT-2021 Updated linux JRE in distribution to version 1.6.0u26 to avoid compiler crashes
• DVT-2022 DVT Custom Dialogs - when checkboxOnValue or checkboxOffValue are
specified, checkbox output should not contain the id
• DVT-2023 Updated Clearcase plugin to the latest version in distribution
• DVT-2024 Common VHDL constructs added as template proposals
• DVT-2025 Context sensitive VHDL templates
Bugfixes
• DVT-1953 Escaped identifiers \id\ not recognized by the VHDL parser
• DVT-1969 Issue when searching by type
© AMIQ
354
Rev. 3.5.35
DVT VHDL IDE
Chapter 29. What is New?
www.dvteclipse.com
• DVT-1975 Create new VHDL file wizard overwrites existing file with same name
• DVT-1993 DVT CLI importProject takes project name from project folder instead of .project
• DVT-1996 Quick outline view duplicates the components of a file added twice in top files
• DVT-2005 Outline updated on full build
3.0.1.1 (3 June 2011)
Enhancements
• DVT-1951 Added hyperlink and tooltip on architectures
• DVT-1918 Added quick include tree view, include tree view
• DVT-1934 Changed procedure icon to differ from function icon
Bugfixes
• DVT-1874 Templates - Move these are global templates at the start of the dialog
• DVT-1928 Wrong matching begin-end marks occurrences
• DVT-1929 Missing grayed icon for files outside project scope
• DVT-1935 Wrong linked VHDL file icon
• DVT-1936 Fixed tooltip for vhdl generics
3.0.1 (27 May 2011)
Features
• DVT-1901 DVT Predefined Projects
Enhancements
• DVT-1581 Name convention checking for method arguments
Bugfixes
• DVT-1893 Refactoring does not update outline elements in Outline View
• DVT-1926 Duplicated entries in Outline/Types View after incremental build
© AMIQ
355
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 30. How to Report an Issue?
You can send an issue report using Report an Issue tool from the toolbar or Help menu.
Fill in the required data (identification data and issue description) and add screenshots or other
files you consider relevant.
You can send the report via e-mail (Internet connection required) or save it as .zip and send
manually to [email protected] [mailto:[email protected]].
Thank you!
© AMIQ
356
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 31. Legal Notices
Copyright © 2005-2015 AMIQ EDA s.r.l. (AMIQ). All rights reserved.
License: This product is licensed under the AMIQ's End User License Agreement (EULA).
Trademarks: The trademarks, logos and service marks contained in this document are the
property of AMIQ or other third parties. DVT™, eDT™, VlogDT™, VhdlDT™, Verissimo™,
Specador™ are trademarks of AMIQ. Eclipse™ and Eclipse Ready™ are trademarks of Eclipse
Foundation, Inc. All other trademarks are the property of their respective holders.
Restricted Permission: This publication is protected by copyright law. AMIQ grants
permission to print hard copy of this publication subject to the following conditions:
1. The publication may not be modified in any way.
2. Any authorized copy of the publication or portion thereof must include all original copyright,
trademark, and other proprietary notices and this permission statement.
Disclaimer: This publication is for information and instruction purposes. AMIQ reserves the
right to make changes in specifications and other information contained in this publication
without prior notice. The information in this publication is provided as is and does not represent
a commitment on the part of AMIQ. AMIQ does not make, and expressly disclaims, any
representations or warranties as to the completeness, accuracy, or usefulness of the information
contained in this document. The terms and conditions governing the sale and licensing of
AMIQ products are set forth in written agreements between AMIQ and its customers. No
representation or other affirmation or fact contained in this publication shall be deemed to be
a warranty or give rise to any liability of AMIQ whatsoever.
© AMIQ
357
Rev. 3.5.35
DVT VHDL IDE
www.dvteclipse.com
Chapter 32. Third Party Licenses
The following software may be included in this product:
• Eclipse Platform 3.8 and Eclipse Plugins ( see license [http://www.dvteclipse.com/
third_party_licenses/LICENSE_ECLIPSE.TXT])
• Java SE Runtime Environment (JRE) Version 7 ( see license [http://www.dvteclipse.com/
third_party_licenses/LICENSE_JRE.TXT])
• ANTLR
v2
(
see
LICENSE_ANTLR.TXT])
license
[http://www.dvteclipse.com/third_party_licenses/
• FreeMarker
(
see
license
LICENSE_FREEMARKER.TXT])
[http://www.dvteclipse.com/third_party_licenses/
• Graphviz
(
see
license
LICENSE_GRAPHVIZ.TXT])
[http://www.dvteclipse.com/third_party_licenses/
• P4Eclipse
(
see
license
DISCLAIMER_P4ECLIPSE.TXT])
[http://www.dvteclipse.com/third_party_licenses/
• SVNKit
(
see
license
LICENSE_SVNKIT.TXT])
[http://www.dvteclipse.com/third_party_licenses/
• Cliosoft SOS ( see license
README_CLIOSOFT_SOS.TXT])
[http://www.dvteclipse.com/third_party_licenses/
• viPlugin (DVT includes a version of Michael Bartl's viPlugin)
© AMIQ
358
Rev. 3.5.35