DVT e Language IDE User Guide Rev. 3.5.14 24 June 2014 Technical Support: support@amiq.com Copyright (C) 2005-2014 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 e Language IDE www.dvteclipse.com © AMIQ i Rev. 3.5.14 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 (Struct, Unit) 22 3.8.9. Quickly Open a File 23 3.8.10. Quickly Move Inside the Editor 25 3.8.11. Browse Through All the Available Types (Structs, Units, Enumerations) 27 3.8.12. Browse the AOP Extensions 28 3.8.13. Inspect the Struct Hierarchy and Struct Members 29 3.8.14. Inspect the Verification Hierarchy 31 3.8.15. Search for Entities 31 3.8.16. Use Content Assist (Autocomplete) 32 3.8.17. Use Code Templates 34 3.8.18. Track Tasks using TODO Markers 35 3.8.19. Format the Source Code 36 3.8.20. Check Naming Conventions 36 3.8.21. Quickly See the Current Scope in the Status Bar 38 3.8.22. Locate the Matching Bracket 38 3.8.23. Fold Code Regions in Order to Improve Readability 39 3.8.24. Load in Specman 39 4. Build Configurations 41 4.1. default.build 41 4.2. Multiple .build Files 42 4.3. Compatibility Modes 43 4.3.1. Default DVT Compatibility Mode 45 4.3.2. vcs.vlogan Compatibility Mode 47 4.3.3. vcs.vhdlan Compatibility Mode 48 4.3.4. ius.irun Compatibility Mode 48 4.4. Paths 52 4.5. Strings 52 DVT e Language IDE www.dvteclipse.com © AMIQ ii Rev. 3.5.14 4.6. Comments 52 4.7. Environment Variables 53 4.8. Including Other Argument Files 54 4.9. Build Persistence 54 4.10. DVT Auto-Linked 56 4.11. Run a Script Before Build 57 4.12. All Build Directives 58 4.13. e Language Test Files 67 4.14. e Language SPECMAN_PATH 67 4.15. SystemVerilog OVM or UVM Library Compilation 68 5. Compile Checks 70 5.1. Compile Waivers 70 5.2. Semantic Checks 72 6. Content Assist (Autocomplete) 75 6.1. Content assist for CamelCase and Underscore 76 6.2. Code Templates 77 7. Content Filters 78 7.1. Content Filters XML syntax 78 7.2. Content Filters Examples 81 7.3. Predefined Content Filters 82 8. Code Templates 91 8.1. Code Templates in Autocomplete 91 8.2. Global Code Templates 92 8.3. Project Level Code Templates 92 8.4. Code Templates View 93 9. File Templates 96 10. Project Templates 97 10.1. What is a project template? 97 10.2. How to generate code from a project template 98 10.2.1. Step 1. Specify Directories 98 10.2.2. Step 2. Specify Parameters 99 10.3. template.config 100 10.4. Add from Template 100 11. Code Formatting 103 11.1. Whitespace 103 11.2. Indentation 103 11.3. Vertical Alignment 103 11.4. Line Wrapping 104 11.5. External 104 12. Inspect Extensions (Layers) 105 13. Override Annotation 106 14. Extend Annotation 107 15. Semantic Search 108 16. Search for References (Usages) 110 17. Refactoring 111 17.1. Rename Refactoring 111 18. Diagrams 113 18.1. Class Diagrams 113 DVT e Language IDE www.dvteclipse.com © AMIQ iii Rev. 3.5.14 18.1.1. Class Diagrams - Select Structs 114 18.1.2. Class Diagrams - Preferences 115 18.1.3. Class Diagrams - Legend 116 18.2. Architecture UML Diagrams 118 18.3. Sequences UML Diagrams 118 18.4. Diagram Toolbar 118 18.5. Diagram Preferences 119 19. Export HTML Documentation 120 19.1. Export HTML Documentation Wizard 120 19.2. Comments Formatting 125 19.2.1. JavaDoc 126 19.2.2. NaturalDocs 130 20. External Tools Integration 132 20.1. Run Configurations 132 20.1.1. Run Configuration Session Type 136 20.1.2. Custom Shortcut and Button for a Run Configuration 138 20.1.3. Using environment variables in DVT Generic Run Configurations 139 20.1.4. Using an alias in a DVT Generic Run Configuration 139 20.1.5. DVT Generic Run Configuration Variables 140 20.2. External Builders 141 20.2.1. How to define a new external builder? 141 20.2.2. How to configure a filter? 145 20.2.3. How to invoke external builders? 145 20.2.4. External Builder Output 146 20.2.5. Source Code Markers - errors warnings 146 20.3. External Documentation 147 20.3.1. Configure External Documentation 148 20.3.2. Browse External Documentation 148 20.3.3. Search External Documentation 149 21. Specman Debugger Integration 151 21.1. The e Language Debug Perspective 151 21.2. Launching a Debug Session 151 21.2.1. The dvt_sn_debug Library 151 21.2.2. Launch a New Debug Simulation from DVT 152 21.2.3. Connect to an existing simulation 155 21.2.4. The dvt_debug Command 157 21.3. Breakpoints 157 21.4. Threads, Call Stack, Stepping 158 21.5. Variables 159 21.5.1. Inspect all the local variables using the Variables View 159 21.5.2. Variable Value in Tooltip 160 21.5.3. Change Variable Value 160 21.6. Watch Expressions 161 22. Custom Dialogs 162 22.1. Quick Steps 164 22.2. Customizing the Dialog Output 164 22.3. SWT/XML Reference 167 22.3.1. Layouts 167 DVT e Language IDE www.dvteclipse.com © AMIQ iv Rev. 3.5.14 22.3.2. Widgets 168 23. Command Line Interface 174 23.1. dvt_cli.sh 174 23.2. Syntax 174 23.3. Notes 175 23.4. Examples 175 23.5. Commands 176 23.5.1. Create a Project (Mixed-Language Capable) 176 23.5.2. Import an Existing Project 177 23.5.3. List Compiled Files 178 23.5.4. Launch a Run Configuration 178 23.5.5. Open a File 178 23.5.6. Open a Custom Dialog 178 23.5.7. Refresh a project 178 23.5.8. Quit 179 23.5.9. Query the running status 179 23.5.10. Print version 179 24. Macros Support 180 24.1. Inactive Code Highlight 180 24.1.1. Overview 180 24.1.2. Settings 180 24.2. Macro Expansion 181 24.2.1. Overview 181 24.2.2. Triggering 181 24.2.3. Tips 181 24.2.4. IMPORTANT NOTE 182 24.3. Macros and Quick Macros Views 182 24.4. Trace Macro Errors 182 25. Reminders (TODO Markers) 184 26. OVM UVM Compliance Review 185 26.1. OVM UVM Compliance Review - Architecture Tab 186 26.2. OVM UVM Compliance Review - Checks Tab 187 26.3. OVM UVM Compliance Review - Statistics Tab 188 26.4. OVM UVM Compliance Review - HTML Report 189 27. Settings Management 190 27.1. Managed Settings 190 27.2. Unmanaged Settings 194 27.3. User and Common Settings Location 194 27.4. Use Cases 195 27.4.1. Memory Allocation Thresholds 195 27.4.2. Workspace Preferences 196 27.4.3. Run Configurations 196 27.4.4. Compile Waivers 196 27.4.5. Content Filters 196 27.4.6. External Builders 196 27.4.7. Export HTML Documentation 197 27.5. Examples 197 27.6. Deprecated Settings Management (before DVT 3.5) 198 DVT e Language IDE www.dvteclipse.com © AMIQ v Rev. 3.5.14 27.6.1. Workspace Settings 198 27.6.2. Project Settings 198 27.6.3. Other Settings 199 27.6.4. Importing Preferences From a Different Workspace 199 27.6.5. Customizing Default Settings Using dvt.ini 200 28. Reference 203 28.1. Common Shortcuts 203 28.2. Editor Right Click Menu 204 28.2.1. Folding 204 28.2.2. Macros 204 28.2.3. Source 204 28.2.4. Show 204 28.2.5. References 205 28.2.6. Refactor 205 28.3. Icons and Decorations 205 28.3.1. Icons 205 28.3.2. Decorations 207 28.4. Quick Search 208 28.4.1. CamelCase 208 28.4.2. Simple Regex 209 28.4.3. Hierarchical Search 209 28.4.4. Hierarchical Search For Ports 211 28.5. Scripts 211 28.5.1. dvt.sh 211 28.5.2. dvt_cli.sh 213 28.5.3. dvt_kit_installer.sh 213 28.5.4. dvt_updater.sh 215 28.5.5. evip2dvt.sh 216 28.6. Toolbar Actions 216 28.7. Views 217 28.7.1. Checks View 217 28.7.2. Code Templates View 218 28.7.3. Compile Order View 218 28.7.4. Console View 220 28.7.5. Coverage View 220 28.7.6. Layers View 222 28.7.7. Macros View 223 28.7.8. Outline View 225 28.7.9. Problems View 229 28.7.10. Tasks View 231 28.7.11. Types View 232 28.7.12. Type Hierarchy View 234 28.7.13. Verification Hierarchy View 237 29. Application Notes 241 29.1. Encrypted VIP Support 241 30. Tips and Tricks 243 31. Q & A 271 31.1. I am new to Eclipse, where should I start from? 271 DVT e Language IDE www.dvteclipse.com © AMIQ vi Rev. 3.5.14 31.2. Where can I find DVT Help? 271 31.3. How do I see and configure the key shortcuts? 271 31.4. Are there any backup files in Eclipse? 272 31.5. Workspace in use, cannot launch eclipse 272 31.6. Locking is not possible in the directory 272 31.7. How to start DVT Eclipse with a different eclipse.ini 272 31.8. Save could not be completed 273 31.9. IBM Clearcase Plugin 273 31.10. libxul.so undefined symbol 273 31.11. How do I Access Files Outside Project Dir - Working with Linked Resources 274 31.12. Handling UNRECOGNIZED Macros 275 31.13. Mapping Linux to Windows (/proj/ to Z:\proj\) 276 31.14. How to use Working Sets for filtering Problems/Task/Search views? 276 31.15. How can I do an incremental textual search in any view? 279 31.16. Diagram error - image has not been created 279 31.17. Whitespace in macro definition 280 31.18. Subversive vs Subclipse 281 31.19. How do I associate a project with both DVT and CDT? 281 31.20. Can I use vi/vim along with DVT? 281 31.21. Can I perform dos2unix or unix2dos from DVT? 282 31.22. How can I configure Eclipse to use a local CVS repository? 282 31.23. I am using the Common Desktop Environment via Citrix and experiencing crashes. What can I do? 283 31.24. How do I change the background color of the Editor? 283 31.25. How do I change the color of the interface? 283 31.26. How to apply the dark color theme or other themes? 284 31.27. How do I change the tooltip colors? 284 31.28. How do I change Internet Proxy Settings? 284 31.29. Eclipse does not start, there is no Workspace, metadata or log file created 285 31.30. Workspace permissions 286 31.31. How to install our server as a service in Windows? 287 31.32. How do I link mylyn with Bugzilla? 287 31.33. How do I print source code? 287 31.34. How do I disable Eclipse Software Sites? 289 31.35. How do I revert to a previous version? 289 31.36. What are the most common shortcuts in DVT? 290 31.37. How do I run Specman using IntelliGen? 290 31.38. How does DVT integrate with emacs? 290 31.39. How does DVT integrate with CVS? 290 31.40. How to set an environment variable within a Run Configuration? 291 31.41. How to run a remote Unix command from DVT Eclipse for Windows? 291 31.42. How do I tell DVT to skip some files from compilation? 291 31.43. Rebuild shortcut (Ctrl + Alt + R) does not work 292 31.44. Sometimes I experience DVT GUI hangs, what should I do? 292 31.45. Sometimes I experience DVT GUI hangs when switching from another X application to DVT 293 DVT e Language IDE www.dvteclipse.com © AMIQ vii Rev. 3.5.14 31.46. I want to use an alias in a DVT Generic Run Configuration, but it's not recognized 294 31.47. Some files are missing from the VIPs transformed with evip2dvt.sh 294 31.48. How to set multiple paths as sources of predefined projects ? 294 31.49. Lines are suddenly changing indentation when I edit text or move the cursor through the editor. 295 31.50. How to change the directory where the build log file is saved ? 295 31.51. How to find the DVT logs on Linux/Unix ? 295 31.52. How to create resource filters ? 296 31.53. How to create custom shortcut and button for a Run Configuration? 296 31.54. I know that file.foo is present in the project location, but I can't see it in the Navigator View 297 31.55. How to copy the full path to the file in the current editor? 297 31.56. How to adjust the console logs filters matching parameters? 297 31.57. When I switch to Block (Column) Selection mode the font changes 298 31.58. In Block (Column) Selection mode I see strange editng artifacts 298 31.59. How to modify the font size in the code editors? 298 31.60. How to automatically checkout/lock files from the revision control system ? 300 31.61. How can I see if a file is read-only? 300 31.62. How can I open a file in DVT from the terminal? 301 31.63. How do I change the name of the xterm opened by a DVT Generic Run Configuration? 301 32. What is New? 303 33. How to Report an Issue? 385 34. Legal Notices 386 35. Third Party Licenses 387 DVT e Language IDE www.dvteclipse.com © AMIQ 1 Rev. 3.5.14 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. [...]... $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... provides a step by step walk-through of the e Language development environment 3.8.1 Switch to the DVT Perspective The DVT Perspective provides a workbench layout with many useful views and shortcuts at hand for developing e code, for example the type browser, extensions browser etc © AMIQ 15 Rev 3.5.14 DVT e Language IDE Chapter 3 Getting Started www.dvteclipse.com From menu Window > Open Perspective... ); 5 Override target directory (if it already exists) © AMIQ 7 Rev 3.5.14 DVT e Language 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... Predefined Projects link: © AMIQ 5 Rev 3.5.14 DVT e Language 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... Before checking the license status, it is recommended to open a predefined project © AMIQ 4 Rev 3.5.14 DVT e Language 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.. .DVT e Language 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.14 DVT e Language 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... directory must be writable 3 The selected project must not exist in the current workspace © AMIQ 6 Rev 3.5.14 DVT e Language 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... Chapter 3 Getting Started www.dvteclipse.com For example, given the following declaration of an event: the corresponding tooltip will look like this: For predefined entities, the tooltip presents the description from the e language reference manual 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... regular expression to locate an entity to jump in the current file © AMIQ 25 Rev 3.5.14 DVT e Language IDE Chapter 3 Getting Started www.dvteclipse.com You can also see the outline in the Outline View Open the view from menu Window > Show View > Other > General > Outline © AMIQ 26 Rev 3.5.14 DVT e Language IDE Chapter 3 Getting Started www.dvteclipse.com 3.8.11 Browse Through All the Available Types... Other choose 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 e 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 . 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. $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. DVT e Language IDE www.dvteclipse.com ©. use its functionality. Before checking the license status, it is recommended to open a predefined project. DVT e Language IDE www.dvteclipse.com © AMIQ 5 Rev. 3.5.14 Chapter 2. Predefined Projects The