Verissimo SystemVerilog Testbench Linter User Guide
Rev. 24.1.6, 27 March 2024

Chapter 17. What is New?

#.# - major version - Includes new features, major enhancements, architectural changes, bug fixes. 
Since 2015, a major version is named in sync with the release year, for example the first major version of 2015 is 15.1.
NOTE: When switching to a new major version it is recommended to start in a new workspace.

#.#.# - minor version - Includes bug fixes, minor enhancements.

24.1.6 (27 March 2024)

Features

  • DVT-20181 Add auto-correct for SVTB.27.13

Enhancements

  • DVT-20179 Add parameter to SVTB.1.1.25 to analyze inside inactive code

  • DVT-20180 Add parameter to SVTB.4.1.4.1.1 to analyze inactive code

  • DVT-20256 License: Improved license management when encountering connectivity issues

Bugfixes

  • DVT-20187 SVTB.1.1.25 should fail for generate block conditions

  • DVT-20232 SVTB.12.2.8 False failures when assigning to the function result implicit variable inside predefined methods

24.1.5 (13 March 2024)

Enhancements

  • DVT-20075 Verissimo GUI report score should depend on the selected checks filters

  • DVT-20110 Add parameter to SVTB.1.1.11 to skip checking commas in macro definitions

Bugfixes

  • DVT-20166 verissimo.sh does not flag invalid arguments

24.1.4 (28 February 2024)

CLEANUP

  • DVT-20073 License: Replaced the license events database with a capped human readable log

Features

  • DVT-19839 New Rule: R.1316 Virtual sequencer base class

  • DVT-20065 New Rule: R.1317 Use maximum one relational operation in a conditional expression

Enhancements

  • DVT-18949 Add ruleset and waivers information in build console when running Verissimo in VS Code

  • DVT-19971 R.1273 should also check the variable name and the UVM instance name of the sub register block in the top register block

  • DVT-20122 Add parameter to R.1309 to specify which variables types should be checked

Bugfixes

  • DVT-19286 Wrong auto-correct for SVTB.31.2.0

  • DVT-20085 SVTB.14.10.18 False failures for loop index used in disable condition

24.1.3 (13 February 2024)

Features

  • DVT-19377 New Rule: R.1299 Analysis ports of subscribers must be connected and must have the corresponding write method implemented

  • DVT-19842 New Rule: R.1314 Connect agents to checkers, scoreboards and coverage collectors using analysis ports and exports

  • DVT-19869 New Rule: R.1310 Virtual sequencers must set subsequencers in the connect_phase method of the environment

  • DVT-20048 New Rule: R.1315 Do not call super.new with fields initialized upon declaration

Enhancements

  • DVT-19841 Add parameter to XVM7 to skip sequences based on class name pattern

  • DVT-19938 R.1265 should fail for UVM_DEFAULT_PATH enum item

  • DVT-19964 Add parameter to XVM.2.1.4.1 and XVM64 to allow coverage instantiations

  • DVT-19965 R.1309 should only fail for variables declared directly in modules or interfaces

  • DVT-19970 R.1263 should also check that the virtual sequence is started

  • DVT-20029 Add parameters to styling rules to skip checking code enclosed by //@formatter:off/on pragmas

Bugfixes

  • DVT-19872 XVM.2.8.3 Should fail when multiple classes extend from xvm_test

  • DVT-19969 R.1251 Should not fail if parent test classes set the configuration object

  • DVT-19972 R.1247 should not fail when cloning the sequence item by assigning it

  • DVT-20004 Importing HTML reports does not take into account user defined rule titles

  • DVT-20010 R.1137 Should fail for randomize with calls from XVM macros

  • DVT-20014 Compile waivers: When located directly under the compilation root, waivers are not applied in batch mode

  • DVT-20044 R.1096 should fail for width mismatch of implicit signals

  • DVT-20054 License: In specific scenarios, connectivity issues are not detected immediatly

  • DVT-20071 NullPointerException when importing reports with configuration failures

24.1.2 (1 February 2024)

Features

  • DVT-19328 New Rule: R.1254 Declare one sequence item for each agent

  • DVT-19338 New Rule: R.1296 Use sequences imported in the sequence package

  • DVT-19374 New Rule: R.1289 When multiple analysis implementations are needed in a scoreboard, use `xvm_analysis_imp_decl(_SFX) to declare them

  • DVT-19376 New Rule: R.1292 Define the write method to receive the transaction through an analysis port

  • DVT-19459 New Rule: R.1298 Use analysis ports and exports when making one-to-many connections

  • DVT-19660 New Rule: R.1312 Do not use hierarchical identifiers in net alias statements

Enhancements

  • DVT-19843 Add parameter to XVM.2.6.3 to allow fields of specified type

  • DVT-19861 Add indication for Verissimo imported HTML report when it's out of sync with the compiled files

  • DVT-19874 Add parameter to R.1244 to skip checking virtual sequences

  • DVT-19875 Add parameter to R.1244 to skip checking covergroups

  • DVT-19877 Add parameter to SVTB.2.2 to check only files included in specified scopes

  • DVT-19920 Changed default filters to show only failures when opening the reports

  • DVT-19928 Add parameter to SVTB.1.1.24 to skip class parameters

  • DVT-19932 Remap failures to source code when importing a Verissimo HTML report

Bugfixes

  • DVT-19962 SVTB.14.10.18 False failures for assertions in a loop preceded by another loop

  • DVT-19983 R.1173 False failures when using forever statements

24.1.1 (18 January 2024)

Starting with the 24.1.1 major release our products are no longer compatible with old FlexLM license servers (<11.19).

HIGHLIGHTS

Note: Some of the highlights below were rolled-out in 23.#.# releases for early adopters.

  • Speed-up several rules

  • Speed-up comparison report computation

  • 120 new rules

  • Added auto-correct for 3 rules

  • Ability to waive failures based on module, package, interface or design top

  • Ability to import HTML compare reports in the DVT Eclipse IDE and DVT IDE for VS Code

  • Improved integration with DVT IDE for VSCode:

REMOVED

  • DVT-19867 License: Removed support for FlexLM tools and dvtlmd daemon versions <11.19

Features

  • DVT-19213 Ability to clear problem markers / diagnostics generated when linting a single file in the IDE

  • DVT-19484 New Rule: R.1300 Do not use factory overrides outside of tests

  • DVT-19491 New Rule: R.1303 Any UVM environment that has a register model should set the register model variable of any child component

  • DVT-19529 New Rule: R.1302 Before starting a sequence that reads or writes registers set the regmodel variable of the sequence

  • DVT-19648 New Rule: R.1306 Do not use edge event control

  • DVT-19650 New Rule R.1308 : $assertcontrol method should not be called with more than two arguments

  • DVT-19657 New Rule: R.1307 Do not use assignments in conditional expressions

  • DVT-19788 New Rule: R.1309 Do not initialize module and interface variables upon declaration

  • DVT-19871 New Rule: R.1311 Banned typedefs

Enhancements

  • DVT-18908 ExportDesignHierarchy: Ability to export VHDL instances

  • DVT-19812 SVTB.1.4.1 auto-correct should move statements inside macros to the next line

  • DVT-19813 SVTB.27.3.1, SVTB.27.5.1, SVTB.27.6.1, SVTB.27.8.1, SVTB.27.9.1 & XVM.2.2.1 should not perform refactoring in potential matches

  • DVT-19815 Print reports generation time to verissimo.sh and dvt_build.sh output

  • DVT-19823 Add parameters to SVTB.7.1.4 and SVTB.15.3.1 to skip counting empty lines and lines with comments

  • DVT-19824 Add parameter to SVTB.7.1.4 and SVTB.15.3.1 to skip specified base classes

  • DVT-19834 Add parameter to XVM.3.9 to allow do_kill implementation in parent classes

  • DVT-19844 SVTB.27.3.1 parameter skipElementNames should accept name patterns

  • DVT-19878 Add parameter to R.1253 to check literal delays

Bugfixes

  • DVT-19360 Preserve order of existing waivers when adding a new waiver to an imported Verissimo GUI report

  • DVT-19522 SVTB.1.1.24 autocorrect shouldn't align blocks of variables indented with tabs

  • DVT-19750 R.1198 should fail for accesses of fixed size dimensions

  • DVT-19805 SVTB.1.1.24 should fail for multiple variables on the same line separated by comma

  • DVT-19837 XVM.3.9 manually fixed failures do not dissapear after re-applying

  • DVT-19840 R.1138 should fail when setting the default_sequence using the uvm_config_db::set method

  • DVT-19868 R.1255 should fail for xvm_analysis_exports and xvm_analysis_imp

  • DVT-19873 R.1243 should not fail for missing virtual sequence start in base test class

  • DVT-19876 R.1250, R.1252, R.1258 should consider the module that calls run_test() as top

  • DVT-19879 R.1238 should fail if there are multiple agent instances of the same type in an environment

  • DVT-19893 R.1173 False failures for assertions without spaces

23.2.29 (13 December 2023)

Performance

  • DVT-19768 Improve performance of generating compare reports for large HTML reports

Features

  • DVT-19004 Ability to import compare reports

  • DVT-19469 New Rule: R.1285 Create user defined configuration classes by extending the class uvm_object

  • DVT-19471 New Rule: R.1294 All configuration object instance names should match a naming pattern

  • DVT-19765 New Rule: R.1305 Do not use the replication operator for multi-bit X and Z values

Enhancements

  • DVT-19766 Add parameter to SVTB.19.6 to specify the allowed type of conditional pre-processing

Bugfixes

  • DVT-19735 R.1173 False failures for assertions

  • DVT-19754 R.1165 False failures for signals of type typedefs

  • DVT-19796 R.1148 False failures for imported interface class

23.2.28 (28 November 2023)

Performance

  • DVT-19697 Improve performance of rule R.1215

  • DVT-19738 Improve performance of rule SVTB.1.0

  • DVT-19739 Improve performance of SVTB.7.27

Features

  • DVT-10323 New Rule: R.1272 Name virtual sequences with a '_vseq' suffix

  • DVT-19332 New Rule: R.1274 Only instantiate sequence items from sequences

  • DVT-19341 New Rule: R.1281 Always use the semaphore/mailbox/event for pipeline drivers

  • DVT-19342 New Rule: R.1286 The driver should mark the item done in the first stage of the pipeline

  • DVT-19379 New Rule: R.1258 Use one SystemVerilog interface instance per DUT interface

  • DVT-19526 New Rule: R.1304 Use explicit prediction in a register model

Enhancements

  • DVT-19691 Add parameter to SVTB.1.1.1 auto-correct to replace tabs with the corresponding number of whitespaces to match the displayed tab width

  • DVT-19719 SVTB.1.5.3 Auto-correct should remove empty line

Bugfixes

  • DVT-19700 SVTB.5.2.7 False failures for case equality operators

  • DVT-19701 SVTB.5.2.7 allowTernaryConditionalChecks parameter should consider ternary conditionals as 2-state in complex expressions

  • DVT-19708 SVTB.31.3.0 should fail for empty statements after another statement

  • DVT-19709 R.1199 False failures inside macros

  • DVT-19714 R.1148 False failures for imported typedefs used as method return type

  • DVT-19730 R.1120 Should fail for hierarchical accesses

  • DVT-19763 SVTB.7.27 Should fail for variable accesses after comparisons of the same variable

23.2.26 (14 November 2023)

Performance

  • DVT-19698 Improve performance of generating compare reports

CLEANUP

  • DVT-19724 Rename VS Code "Waive failure" quick fix proposals to include the failure severity

Features

  • DVT-19329 New Rule: R.1284 If sequence calls raise/drop_objection then it must be named as a base sequence

  • DVT-19371 New Rule: R.1257 In the driver and monitor create a separate task for transaction read and write

  • DVT-19373 New Rule: R.1249 A monitor must make sure the collected sequence item is sent after each transaction is captured

  • DVT-19460 New Rule: R.1297 When making connections between components connect a port directly to an export without any intermediate FIFO

  • DVT-19468 New Rule: R.1269 Group the configuration parameters into a configuration object

  • DVT-19470 New Rule: R.1275 Check that there is a config class for each environment class

  • DVT-19473 New Rule: R.1283 Each component should get the configuration object associated with that specific component instance

  • DVT-19474 New Rule: R.1277 Do not use an absolute hierarchical path name as the second argument to uvm_config_db::set

  • DVT-19477 New Rule: R.1282 A component instance may be with one or no configuration object

  • DVT-19479 New Rule: R.1290 If a sequence is to be parameterized, the parameters should be put into an object in the configuration database

  • DVT-19480 New Rule: R.1293 The code that starts a sequence should get any configuration object from the configuration database

  • DVT-19481 New Rule: R.1267 Configuration database "set" operations should be done only in tests and virtual sequences

  • DVT-19527 New Rule: R.1287 The address map variable of the predictor in each child register block should be assigned to the corresponding address map of the top level register block

  • DVT-19591 New Rule: R.1288 Do not call randomize with constraints

Enhancements

  • DVT-19627 "Zero lines compiled" configuration error should be given on the build config file

Bugfixes

  • DVT-19654 R.1225 False failures for & binary operator

  • DVT-19655 R.1198 False failures for access of arrays with dynamic dimensions

  • DVT-19656 R.1120 False failures when covergroup argument is used as method call argument

  • DVT-19659 SVTB.27.5.7 False failures for enums with uvm_ prefix

  • DVT-19668 R.1173 False failures for fork-join and begin end blocks

  • DVT-19677 SVTB.1.1.11, SVTB.1.1.20, SVTB.1.1.25 Wrong auto-correct for multiple failures on the same line

  • DVT-19680 Can't create the verissimo_waivers.xml file when the project path contains a symlink segment

  • DVT-19699 Thread Dump Collector: Profiling thread dumps are not generated

23.2.25 (1 November 2023)

Features

  • DVT-18802 Add support for Verissimo Auto-correct in VS Code

  • DVT-19323 New Rule: R.1251 Test classes must set the configuration object

  • DVT-19334 New Rule: R.1263 Use a virtual sequence to coordinate the behavior of multiple agents

  • DVT-19335 New Rule: R.1242 Define a base virtual sequence

  • DVT-19349 New Rule: R.1279 Do not start virtual sequences and normal sequences in parallel

  • DVT-19488 New Rule: R.1268 There should be a single top-level register block that instantiates the register blocks associated with the child environments

  • DVT-19489 New Rule: R.1273 The variable name and the UVM instance name of each child register block should correspond to the name of the associated env

  • DVT-19490 New Rule: R.1260 Any environment that uses a register model should have a variable named regmodel

  • DVT-19492 New Rule: R.1280 A UVM environment should only instantiate a register block if the variable regmodel is null

  • DVT-19533 New Rule: R.1266 Covergroups must be declared either in classes or packages

Enhancements

  • DVT-19472 Add parameter to R.1108 to allow uvm_config_db::get/set calls in body

Bugfixes

  • DVT-19312 R.1159 Should increase the indentation inside properties

  • DVT-19579 SVTB.5.2.7 False failures for method calls in expressions

  • DVT-19580 SVTB.5.2.7 False failures when using parameters

  • DVT-19584 Demoting the severity of check or a failure does not update the problem markers accordingly in VS Code

23.2.24 (17 October 2023)

Features

  • DVT-19301 New Rule: R.1238 Group multiple instances of the same agent

  • DVT-19326 New Rule: R.1253 Do not use variable delays in drivers

  • DVT-19336 New Rule: R.1276 Virtual sequences should be started on the virtual sequencer

  • DVT-19337 New Rule: R.1278 Do not execute sequence items from virtual sequences

  • DVT-19375 New Rule: R.1247 Locally clone the sequence item in the subscriber in case it is needed for later purpose

  • DVT-19414 Add auto-correct for SVTB.1.4.4

  • DVT-19466 New Rule: 1271 Do not use the UVM resource database

  • DVT-19478 New Rule: R.1259 Do not use the method get_is_active to determine if the agent is active or passive

  • DVT-19535 New Rule: R.1261 Do not use `uvm_do_* macros

  • DVT-19536 New Rule: R.1270 Do not extend uvm_factory and uvm_report_server abstract classes

  • DVT-19537 New Rule: R.1265 Do not use typedef uvm_path_e

  • DVT-19538 New Rule: R.1264 Do not use uvm_comparer fields

Bugfixes

  • DVT-19435 SVTB.25.10 reports inconsistent results after performing auto-correct on other rules

23.2.23 (9 October 2023)

HIGHLIGHTS

  • Default license server requirements changed to FlexLM tools and dvtlmd daemon >=11.19

Performance

  • DVT-19497 Improve performance of rule R.1042

CLEANUP

  • DVT-19560 License: Default license server requirements changed to FlexLM tools and dvtlmd daemon >=11.19

Features

  • DVT-19298 New Rule: R.1240 Use the suffix _config for user defined configuration class names

  • DVT-19299 New Rule: R.1241 When referencing config objects from the uvm_config_db the field name should contain _config

  • DVT-19324 New Rule: R.1252 Testbench top module call of uvm_config_db::set must have "uvm_test_top" as scope

  • DVT-19339 New Rule: R.1245 Raise and drop objections in the scoreboard

  • DVT-19340 New Rule: R.1246 Do not raise or drop objection in loops

  • DVT-19372 New Rule: R.1255 A monitor shall never rely on information collected from other components

  • DVT-19378 New Rule: R.1256 When instantiating a component in the test bench environment use env instead of agent

  • DVT-19381 New Rule: R.1250 Put virtual interfaces into the configuration database

Enhancements

  • DVT-19396 Add parameter to R.1126 to check that 'end' is placed on the same line or the next line consistently for the same block type

  • DVT-19417 Add per-rule auto-correct enablement information to Verissimo custom report API

  • DVT-19419 Add parameter to SVTB.1.1.26 to enforce code indentation inside preprocessor directives

  • DVT-19431 SVTB.1.1.26 auto-correct should align multiline statements and declarations

  • DVT-19436 Add support for multiple indexes for XVM.2.1.15.1, XVM.2.1.4.2.7, XVM.3.1.9.1, XVM.3.3.11.1 and XVM.5.4.4 arrayNamePattern parameter

Bugfixes

  • DVT-19428 R.1137 should not fail if there is at least one randomizable variable in a constraint

  • DVT-19437 SVTB.1.1.24 False failures for instances and genvars

  • DVT-19438 SVTB.15.4.1.1 should perform auto-correct when randomize call does not contain parenthesis

  • DVT-19456 SVTB.1.1.20 False failures for classes declared inside macros

  • DVT-19462 SVTB.5.2.7 False failures for parameters and methods in expressions

  • DVT-19463 SVTB.5.2.7 False failures for type cast operator

  • DVT-19501 SVTB.5.2.7 False failures for $isunknown guard in conditional ternaries when both 'useIsUnknownGuard' and 'allowTernaryConditionalChecks' parameters are true

  • DVT-19547 Fixed NullPointerException in rule XVM.2.1.1.3

23.1.22 (22 September 2023)

Features

  • DVT-19296 New Rule: R.1236 Add blank lines between class elements

  • DVT-19302 New Rule: R.1243 Use virtual sequences to coordinate the stimulus generation activities

  • DVT-19325 New Rule: R.1244 Do not use explicit delays outside of drivers and monitors

  • DVT-19331 New Rule: R.1248 In a sequence use the built-in transaction variables req and rsp

  • DVT-19333 New Rule: R.1239 Use the `uvm_declare_p_sequencer macro to declare the p_sequencer variable inside sequences

Enhancements

  • DVT-19287 Add parameter to SVTB.16.11 to allow zero values for coverpoint option.weight

  • DVT-19317 Add parameter to SVTB.5.2.7 to allow conditional ternary operators

  • DVT-19370 Add parameter to R.1192 to specify checked base classes

  • DVT-19388 Add parameter to R.1234 to allow numerical literals as method call arguments

Bugfixes

  • DVT-19384 Eclipse Problems View is not taking into account maxHitsPerFile parameters

  • DVT-19389 R.1234 False failures for float numerical literals

  • DVT-19418 Project full build is not performed after auto-correcting more than 50 files

  • DVT-19426 Inconsistent behavior when resolving relative paths with parent directory segments crossing a directory symlink during build config parsing and file parsing

23.1.20 (6 September 2023)

Features

  • DVT-19198 New Rule: R.1231 Do not set verbosity level in tests

  • DVT-19266 New Rule: R.1235 Do not use event controls on signals without a timeout

  • DVT-19276 New Rule: R.1234 Do not use big numerical literals

Enhancements

  • DVT-19273 Add parameter to SVTB.4.1.4.1.2 to allow variable usages

  • DVT-19297 Add parameter to SVTB.27.3.1 to skip specified element names

Bugfixes

  • DVT-18131 Do not print carriage return after reporting problems in the Console View on Linux distros

  • DVT-19206 Sometimes the HTML report failures table can't be scrolled until the end, hiding the last few failures

  • DVT-19311 Wrong filtering of .html.report files in the file picker when importing an HTML report in VS Code + Remote SSH

  • DVT-19343 Verissimo waivers file included with paths containing "/../" are not included in their declaration order

23.1.19 (25 August 2023)

Features

  • DVT-19201 New Rule: R.1233 Do not use time literals as methods or properties arguments

  • DVT-19211 New Rule: R.1232 Do not assign time literals to variables

Enhancements

  • DVT-19173 Memory Monitor: "Display Memory Warning" preference should only affect the warning pop-up

  • DVT-19174 Memory Monitor: Close the warning pop-up when reaching an error state

  • DVT-19212 Defining a pre-waiver, saving and applying it should remove failures from the waived files

  • DVT-19234 Add parameter to R.1137 to skip checking variables in conditions of conditional expressions

Bugfixes

  • DVT-19202 R.1206 False failures for foreach and else statements

  • DVT-19203 Canceling auto-correct of failures prevents them from being added to the HTML report

  • DVT-19204 Disabling failures removes them from the Verissimo GUI report until reapply

  • DVT-19205 Specifying a module that is not instantiated under the -top design hierarchy as a waiver top element waives the -top module

  • DVT-19233 R.1137 Should fail for variables that cannot be randomized even if the expression contains other randomizable variables

  • DVT-19236 R.1226 False failures for passing a time or realtime variable to a property

  • DVT-19242 SVTB.5.2.7 False failures for string implicit variables

  • DVT-19248 SVTB.2.12 Auto-correct input is not taken into account in DVT when there's a value specified in the ruleset file

  • DVT-19250 SVTB.15.4.1.1 Wrong error message when specifying input values for auto-correct from DVT

23.1.18 (2 August 2023)

Features

  • DVT-15360 New rule: R.1108 Do not use uvm_config_db::set/get outside build_phase/constructor for components/objects

  • DVT-18654 New Rule: R.1214 Multiline macro definition formatting

Enhancements

  • DVT-19166 Add parameter to R.1206 to skip associative array accesses from constraints

  • DVT-19167 Add parameter to R.1206 to skip checking accesses of specified literal values

  • DVT-19171 Fix duplicate error messages for Java custom API example project

  • DVT-19172 Add parameter to SVTB.1.1.9 to skip flagging whitespaces after escaped identifiers

Bugfixes

  • DVT-19161 SVTB.1.1.9 False failures for hierarchical access of escaped identifiers

  • DVT-19165 R.1206 should not fail for queues

  • DVT-19169 SVTB.5.2.7 False failures for implicit values used in expressions

  • DVT-19183 R.1230 False failures for extern methods and constraints

  • DVT-19186 Verissimo: Lint current file fails in VS Code when the lint configuration contains a pre-waiver for an element

23.1.16 (18 July 2023)

Features

  • DVT-18525 New Rule: R.1207 Case item formatting

  • DVT-18591 New Rule: R.1209 Do not use var for port declarations

  • DVT-19068 New Rule: R.1228 Do not declare method argument types as time or realtime

  • DVT-19070 New Rule: R.1227 Do not declare properties with arguments of type time and realtime

  • DVT-19129 New Rule: R.1229 Do not instantiate properties with variables of type time and realtime

  • DVT-19141 New Rule: R.1230 File must always take the name of the single top entity

Enhancements

  • DVT-19096 Memory Monitor: Extended memory starvation handling to include linting report generation

  • DVT-19109 Add parameter to SVTB.2.3 to skip classes declared inside packages

  • DVT-19127 Add parameter to XVM.2.1.15.1, XVM.2.1.4.2.7, XVM.3.1.9.1, XVM.3.3.11.1 and XVM.5.4.4 to specify array pattern

Bugfixes

  • DVT-15948 SVTB.5.2.7 Should fail when assignment right hand side is an expression

  • DVT-19102 SVTB.1.4.5 Auto-correct should not delete comments

  • DVT-19115 SVTB.31.4 False failures for array select assignments

  • DVT-19138 XVM.2.1.4.1, XVM.3.1.4.1, R.1036 & XVM64 False failures for classes extending their type parameter

  • DVT-19144 Verissimo: Blank page displayed when clicking the logo from the HTML report in VS Code

23.1.15 (7 July 2023)

Features

  • DVT-18830 Verissimo: Ability to Lint Current File in VS Code

  • DVT-19064 Add auto-correct for SVTB.1.5.3

  • DVT-19069 New Rule: R.1226 Do not pass variables of type time or realtime as method call arguments

Enhancements

  • DVT-18964 Verissimo: Add Verissimo status bar indicator in VS Code

  • DVT-19006 Add parameter to R.1160 to include XMR details

  • DVT-19066 Add 'class' to supported scopes for SVTB.14.11

  • DVT-19067 Add parameter to SVTB.14.11 to specify assertion kind

Bugfixes

  • DVT-19071 SVTB.1.1.26 False failures inside constraints

  • DVT-19074 R.1139 False failures for else if blocks

  • DVT-19104 NullPointerException in rule SVTB.7.14.0

  • DVT-19114 HTML report file filters don't work for Windows paths

  • DVT-19119 SVTB.4.2 Should fail when comparing expressions to literal values

23.1.14 (22 June 2023)

Features

  • DVT-18148 New Rule: R.1225 Do not use multi-bit signals in a boolean context.

  • DVT-19095 Memory starvation handling mechanism in VS Code

Enhancements

  • DVT-19039 Add parameter to SVTB.8.4.10 and SVTB.8.4.11 to allow variable declarations at the beginning of the protective fork

  • DVT-19065 Add parameter to SVTB.27.1.0 to skip checking fields of specified types

Bugfixes

  • DVT-19024 SVTB.1.5 False failures for begin end blocks inside macros

23.1.13 (7 June 2023)

Features

  • DVT-18282 New Rule: R.1224 Do not use conditions that always yield 'true' or 'false'

  • DVT-18804 Ability to import HTML reports in VS Code

  • DVT-19003 New Rule: R.1223 Super call of the parent method implementation should match the current method name

Enhancements

  • DVT-18903 Ability to generate documentation for predefined rulesets in VS Code without running a Verissimo lint session

  • DVT-18941 Ability to generate predefined ruleset files in VS Code without running a Verissimo lint session

  • DVT-18957 Add TLM ports, TLM exports and virtual interfaces to supported elementsDeclarationOrder of SVTB.7.1.1

  • DVT-19019 Add function, task to supported elementKind for SVTB.27.1.0

Bugfixes

  • DVT-18999 VS Code generated HTML report cannot be opened in Eclipse

  • DVT-19012 Windows file paths from waivers are not escaped correctly when using the 'Waive Error' VS Code quick fix

23.1.12 (23 May 2023)

CLEANUP

  • DVT-18947 Verissimo: Revised VS Code lint configuration syntax

Features

  • DVT-18893 New Rule: R.1220 Use 4-state types for synthesizable enum types

  • DVT-18899 New Rule: R.1221 Do not declare tasks

  • DVT-18930 New Rule: R.1222 Declare module port type as logic

  • DVT-18959 New Rule: R.1217 Do not directly call type or instance override methods from the uvm_factory class

  • DVT-18966 New Rule: R.1218 Use %0 in format specifiers whenever applicable

  • DVT-18972 New Rule: R.1219 Use the name m_config as the instance name of configuration object in the class it’s been instantiated in

Enhancements

  • DVT-18897 Add parameter to SVTB.12.1.2 to allow only automatic methods

  • DVT-18936 Verissimo: Ability to use relative paths inside a VS Code lint configuration

  • DVT-18940 Verissimo: Ability to use environment variables inside a VS Code lint configuration

  • DVT-18958 Add parameter to SVTB.7.14.0 to skip classes that inherit directly from base classes declared in specified packages

  • DVT-18975 ExportDesignHierarchy: Add parameter to print all paths to a module

Bugfixes

  • DVT-18967 SVTB.5.2.7 False failures for else statements

  • DVT-18968 IllegalArgumentException in R.1157

23.1.11 (9 May 2023)

Features

  • DVT-18793 New Rule: R.1211 Do not allow multiple non-blocking assignments to the same bit

  • DVT-18898 New Rule: R.1215 Do not use conditional compilation directives in string literals

  • DVT-18918 Add Editor Notification for out of sync markers in DVT Eclipse

  • DVT-18942 New Rule: R.1216 Use field macros on all fields from a class

Enhancements

  • DVT-18857 SVTB.7.14.0 Auto-correct should insert super.method_name() after inline function comment

  • DVT-18885 Toggled filter buttons in DVT Eclipse report are not visible on Eclipse >=4.22

  • DVT-18900 SVTB.1.0 should accept VS Code formatting preferences

  • DVT-18923 Add parameter to SVTB.27.9.3 to allow name exceptions only if there is a single virtual interface in the class/module

Bugfixes

  • DVT-18858 SVTB.10.20 should fail for formatting methods called as `uvm_info macro arguments

  • DVT-18886 Inline waivers are inserted after the macro definitions

  • DVT-18932 False METHOD_CALLS_ARGUMENTS error after incremental compilation

  • DVT-18939 SVTB.27.1.0 false failures for typedefs when elementKind is interface

23.1.10 (25 April 2023)

Enhancements

  • DVT-18769 Ability to see rule details in the DVT Eclipse Inspect View when selecting a linting failure

Bugfixes

  • DVT-18533 Waive quick fix in DVT Eclipse creates a compile waiver instead of a lint waiver

  • DVT-18839 DVT Eclipse lint report main tab buttons have the wrong height on MacOS

  • DVT-18842 Verissimo failures are not displayed in VS Code if there are no compilation problems

  • DVT-18871 XVM.2.1.17 False failures for multiple module accesses

  • DVT-18889 SVTB.19.5 should fail for XMRs with selects

  • DVT-18917 Auto-correct rerun is not performed after autocorrecting SVTB.1.4.2

23.1.9 (12 April 2023)

Features

  • DVT-18507 New Rule: R.1208 Else should be on the new line after end label

  • DVT-18652 New Rule: R.1212 Do not place space between method call and open parenthesis

  • DVT-18653 New Rule: R.1213 Do not place space between macro call and open parenthesis

  • DVT-18774 New Rule: R.1203 Check index value before access

  • DVT-18790 New Rule: R.1210 Duplicate import statements

Enhancements

  • DVT-18422 Ability to waive based on module, package, interface or design top

  • DVT-18767 Memory Monitor: Avoid false warnings in small projects

  • DVT-18864 Add parameter to SVTB.32.2.0 to skip XVM inherited method arguments

  • DVT-18879 SVTB.33.1.0, SVTB.33.2.0 and SVTB.33.3.0 should not take inactive code into account

Bugfixes

  • DVT-18835 R.1200 Should fail in inactive branches

  • DVT-18862 Fixed NullPointerException in SVTB.32.3

  • DVT-18882 Memory Monitor: Disable directive not working

23.1.8 (29 March 2023)

Features

  • DVT-18421 New Rule: R.1201 A sequence randomize call must be placed before the sequence start method

  • DVT-18434 New Rule: R.1202 Module declaration format

  • DVT-18792 New Rule: R.1204 Overridden component phases must call super

  • DVT-18794 New Rule: R.1205 Do not use literal X

  • DVT-18808 New Rule: R.1206 Check index value before access for associative arrays

Enhancements

  • DVT-18791 Add interface class to supported elementKind for SVTB.27.1.0

  • DVT-18811 Verissimo: Display error message when lint configurations are out of sync

Bugfixes

  • DVT-18752 XVM.2.1.1.6 No failures reported after reapply

  • DVT-18755 XVM64 No failures reported after reapply

  • DVT-18762 Verissimo: Running lint configuration with predefined ruleset and invalid ruleset file should not trigger an error

  • DVT-18798 XVM.7.2 Less failures reported when a reapply operation is preceded by a rebuild in VS Code

  • DVT-18805 Verissimo: Rerunning checks after changing the current build configuration file results in a lint hang in VS Code

23.1.7 (15 March 2023)

Features

  • DVT-18420 New Rule: R.1191 Do not use unsized literal expressions exceeding 32-bit integer range

  • DVT-18655 New Rule: R.1199 Ternary expressions nested in other ternary conditions should be enclosed by parentheses

  • DVT-18656 New Rule: R.1200 Conditional compilation compiler directives alignment

Enhancements

  • DVT-18486 Add parameter to R.1170 to allow comments on empty lines

  • DVT-18597 Report error when trying to autocorrect failures of checks that don't support autocorrect

  • DVT-18623 Improved VS Code Command Palette menu

  • DVT-18624 Ability to generate rulepool documentation in VS Code

  • DVT-18625 Improve UX when working with saved lint configurations in VS Code

  • DVT-18628 Ability to specify the location of HTML report in VS Code

  • DVT-18629 Ability to choose a baseline report when starting a new Verissimo session in VS Code

  • DVT-18630 Ability to auto-export the HTML report after linting in VS Code

  • DVT-18631 Ability to include the source code in the generated HTML report in VS Code

  • DVT-18746 Ability to see unfixable hits when autocorrecting in batch mode

Bugfixes

  • DVT-18523 SVTB.7.20 should fail for static arrays

  • DVT-18524 SVTB.6.10.1 False failures for arrays used as input method arguments

  • DVT-18598 XVM.2.1.8 False hits for predefined list methods

  • DVT-18615 Rule configuration errors caused by invalid parameter values are reported as Internal Error in VS Code

  • DVT-18626 Existing waivers file are not suggested when starting a new Verissimo session in VS Code

  • DVT-18680 Exception thrown when selecting a failure without path from the DVT Eclipse Problems View

  • DVT-18704 Wrong number of checks displayed inside Verissimo Rule pool and Ruleset HTML documentation

  • DVT-18725 Verissimo: Linting from menu shortcut may silently fail when changing workspace

23.1.6 (1 March 2023)

Features

  • DVT-18619 New Rule: R.1198 Out of bounds range of index variable in array select

Enhancements

  • DVT-18508 Add parameter to SVTB.1.4.4.1 to skip checking blocks with end label

  • DVT-18663 Ability to lint either the entire project or just the current file based on selection

  • DVT-18712 Do not generate Verissimo GUI report when linting just a file

Bugfixes

  • DVT-18676 SVTB.5.11.2.3 False failures for multiple $cast calls in if condition when allowOnlyIfChecking is set to true

23.1.5 (21 February 2023)

Enhancements

  • DVT-18090 & DVT-18182 Ability to set a timeout when running Verissimo in batch or UI

  • DVT-18515 Add parameter to SVTB.1.1.26 and R.1159 to skip preprocessor directives

  • DVT-18564 Add auto-correct input to SVTB.15.4.1.1 to specify id and message of inserted `uvm_error macro

  • DVT-18612 Ability to see the Verissimo auto-correct parameters in the rulepool and ruleset documentation

  • DVT-18614 SVTB.31.3.3 Auto-correct should be performed when for loop has iterator declaration assignment

Bugfixes

  • DVT-18584 XVM.7.7 Wrong messages for using undocumented types or inheriting from undocumented classes

  • DVT-18590 XVM.7.7 False failures for uvm_resource_types, UVM_FILE, uvm_apprepend

  • DVT-18633 SVTB.27.7.1 False failures for `ifndef / `ifdef compiler directives

23.1.4 (8 February 2023)

DEPRECATED

  • DVT-18604 License: Support for FlexLM tools and dvtlmd daemon <11.19 is deprecated and will be removed in future versions

Features

  • DVT-18539 New Rule: R.1196 Element description must be in element comment or in file header comment

  • DVT-18540 New Rule: R.1197 Method argument indentation

  • DVT-18605 License: New client implementation based on FlexLM 11.19 (disabled by default)

Enhancements

  • DVT-18500 Add parameter to XVM.4.28 to check only calls in loops

  • DVT-18534 Add argument to verissimo.sh to specify rules for which to perform auto-correct

Bugfixes

  • DVT-18240 License: In some cases the license client leaks a large number of CLOSE_WAIT sockets due to a FlexLM bug

  • DVT-18586 SVTB.1.5 False failure for empty wait statements inside macros

  • DVT-18603 License: In some cases when multiple license sources are set and no license is available, the license client is repeatedly queuing and dequeuing for a license

23.1.3 (31 January 2023)

Features

  • DVT-18541 New Rule: R.1195 Declare package for specified children of base classes

Bugfixes

  • DVT-18583 False LINT FAILED message after auto-correcting all failures in batch mode

23.1.2 (25 January 2023)

Features

  • DVT-18536 New Rule: R.1193 Do not have include statements guarded by `ifdef/`ifndef

  • DVT-18537 New Rule: R.1194 Do not use $test$plusargs and $value$plusargs with strings containing uvm

Enhancements

  • DVT-18447 Add parameter to SVTB.27.5.6 to skip typedefs over enum/struct/union

Bugfixes

  • DVT-18551 CHSC False failures after performing auto-correct in batch mode

23.1.1 (19 January 2023)

HIGHLIGHTS

Note: Some of the highlights below were rolled-out in 22.1.# hotfix releases for early adopters.

  • Improved performance for several rules

  • 61 new rules

  • Added auto-correct for 4 rules

  • Ability to lint only changed files based on baseline HTML report

  • Ability to lint only the selected file

  • Ability to define pre-waivers based on the design top

  • Multiple UI enhancements

Features

  • DVT-18400 New Rule: R.1192 Do not override reset_phase, configure_phase, main_phase, shutdown_phase in drivers, monitors, subscribers, or scoreboards

  • DVT-18402 New Rule: R.1189 An agent should check that its virtual interface has been set

  • DVT-18448 New Rule: R.1190 Signal naming pattern

Enhancements

  • DVT-18419 Add parameter to XVM.4.22 to check multiple UVM register layer API calls from if/else or case blocks

  • DVT-18455 Add parameter to SVTB.2.1, SVTB.2.3 and SVTB.2.6 to allow children classes

  • DVT-18456 Add parameter to SVTB.1.1.16 and R.1170 to enforce a space before and after the instance name

  • DVT-18550 Choosing "Browse File System" when selecting the ruleset or waivers file should open the .dvt directory by default in VS Code

Bugfixes

  • DVT-18512 IndexOutOfBounds exception when comparing HTML report with pre-waived files

22.1.39 (20 December 2022)

Bugfixes

  • DVT-18432 SVTB.32.3 False failures for loops with literal zero as condition

Enhancements

  • DVT-18371 Add parameter to R.1156 to skip counting begin end blocks inside forks

  • DVT-18423 Add parameter to SVTB.1.1.24 to skip method arguments

22.1.38 (14 December 2022)

Features

  • DVT-18374 New Rule: R.1187 The testbench must instantiate and build the register block in the build_phase method

  • DVT-18401 New Rule: R.1188 Set the starting_phase member of the sequence object before starting the sequence.

22.1.37 (6 December 2022)

Features

  • DVT-18144 Add auto-correct for SVTB.1.9

Enhancements

  • DVT-18337 Add "since" query to Verissimo HTML ruleset documentation

22.1.36 (22 November 2022)

Performance

  • DVT-18357 Improve performance of SVTB.1.1.26 and R.1159

Features

  • DVT-18327 New Rule: R.1186 Do not include the same file multiple times

  • DVT-18328 New Rule: R.1185 Never place spaces on either side of method declaration's parenthesis

Bugfixes

  • DVT-18315 R.1139 False failures for randomize() with {...} as if condition

Enhancements

  • DVT-17732 Ability to lint only the selected file

  • DVT-18237 Add parameter to SVTB.1.1.16 to enforce closing parenthesis on new line

22.1.35 (17 November 2022)

Features

  • DVT-11769 Memory Monitor: Memory starvation handling mechanism

  • DVT-18285 New Rule: R.1182 Declare packed arrays as little endian

  • DVT-18286 New Rule: R.1183 Declare unpacked arrays as big endian

Bugfixes

  • DVT-18132 NullPointerException is thrown when undefined environment variables are used in +dvt_skip_compile

  • DVT-18292 SVTB.6.3.3 Should fail for typedefs with unpacked dimensions

  • DVT-18306 SVTB.1.1.26 False failures for foreach closing bracket

Enhancements

  • DVT-18307 Add parameter to SVTB.1.1.18 to specify checked keywords

  • DVT-18308 Add parameter to SVTB.2.16.1 to allow certain macro patterns

  • DVT-18309 Add parameter to XVM.2.2.11 to skip classes extending from specified base classes

  • DVT-18310 Add parameter to XVM15c to skip classes extending from specified base classes

22.1.34 (8 November 2022)

Performance

  • DVT-16319 Improve performance of XVM46, XVM49, ARBF, ARIN, ARMN and ARSAa checks

Features

  • DVT-18216 New Rule: R.1181 Open parenthesis should be on the same line with their associated element

  • DVT-18217 New Rule: R.1180 Do not use user defined UVM RAL class type variables outside of tests

Bugfixes

  • DVT-18235 R.1170 should fail for parameters on the same line with the instantiated type

  • DVT-18267 XVM.2.1.4.2.8 False failures for array indexing of sequencer as context argument

  • DVT-18281 SVTB.1.1.10 False failures for last operator on line when allowIndentationOfMultilineOperators is true

Enhancements

  • DVT-18236 Add parameter to R.1170 to flag instance name not on the same line with closing parenthesis of the parameter list

22.1.32 (1 November 2022)

Features

  • DVT-18139 New Rule: R.1177 Use cross module references only on ports

  • DVT-18140 New Rule: R.1174 Do not use cross module references deep into the design

  • DVT-18186 New Rule: R.1176 Do not use get_full_name() or %m with XVM report macros

  • DVT-18190 New Rule: R.1179 Duplicate comments

Bugfixes

  • DVT-18200 Validate regular expressions in waivers XML file before linting

  • DVT-18250 SVTB.8.4.10 and SVTB.8.4.11 should fail for protective fork block without begin end block

Enhancements

  • DVT-18198 Add parameter to SVTB.2.1 and SVTB.2.6 to flag first element in multi-element files

  • DVT-18199 Add XML validation to versions 1-5 of waivers XML files

  • DVT-18201 Add parameter to SVTB.12.2.7 and SVTB.15.4.1.1 to check randomize calls for classes with type parameters

  • DVT-18215 Add function and task to supported elementKind for SVTB.25.4.0

22.1.31 (20 October 2022)

Features

  • DVT-18114 New Rule: R.1175 Do not call xvm_object::create() in loops

Enhancements

  • DVT-18122 Add parameter to R.1164 to skip selects guarded by conditionals on the select variable

  • DVT-18180 Add parameter to XVM51b to allow object create call in sequence start methods

22.1.30 (11 October 2022)

Features

  • DVT-18100 New Rule: R.1170 Named parameter list indentation

  • DVT-18112 New Rule: R.1171 Do not use multiple include guards

  • DVT-18129 New Rule: R.1172 Separate single-line comments from the code

  • DVT-18130 New Rule: R.1173 Do not add multi-line comments inside of a statement

22.1.29 (28 September 2022)

Bugfixes

  • DVT-18137 Verissimo Custom Report API does not include pre-waiver information

22.1.28 (28 September 2022)

Features

  • DVT-18025 New Rule: R.1165 Do not use reg and wire

  • DVT-18075 New Rule: R.1166 Do not use checker

  • DVT-18076 New Rule: R.1167 Do not use final blocks

  • DVT-18081 New Rule: R.1168 Module instances naming pattern

  • DVT-18092 New Rule: R.1169 Banned predefined methods

Bugfixes

  • DVT-18074 Duplicate rule not reported for version 1 of ruleset XML file

  • DVT-18127 Thread Dump Collector: Fix broken zips caused by SIGINT signals

Enhancements

  • DVT-17466 Add XML validation to version 1 of ruleset XML files

  • DVT-18036 Add pre-waived file list to pre-waiver Custom Report API

  • DVT-18083 Add parameter to SVTB.27.3.1 to specify member variable visibility

  • DVT-18095 Add parameter to SVTB.27.16 to skip class handles in classes

  • DVT-18096 Add parameter to SVTB.27.16 to skip class handles that are instantiated

  • DVT-18099 Add parameter to SVTB.1.1.20 to flag # on new line

22.1.27 (13 September 2022)

Features

  • DVT-17759 New Rule: R.1164 Out of bound range of index variable in bit select

Bugfixes

  • DVT-18048 NullPointerException in R.1157

  • DVT-18049 NullPointerException in R.1153

Enhancements

  • DVT-18024 Add parameter to R.1159 to skip checking indentation of multi line statements and declarations

  • DVT-18031 Add parameter to R.1160 to specify XMR direction

  • DVT-18032 Parameter allowedXMRScopes of R.1160 should accept patterns

22.1.26 (7 September 2022)

Bugfixes

  • DVT-16969 SVTB.5.11.2.2 False failures for variables of parameterized type

  • DVT-17983 dvt_sv_lint_gui.sh does not work with custom ruleset

Enhancements

  • DVT-12843 Add parameter to SVTB.1.5 to flag single line containing xvm macro

  • DVT-17999 Add parameter to R.1156 to skip counting forks

22.1.25 (30 August 2022)

Features

  • DVT-17236 New Rule: R.1163 Unused module

  • DVT-17979 New Rule: R.1162 Do not use assignments as operands of ternary conditional operator

Bugfixes

  • DVT-17821 Multi-line inline waivers are not working with multi-line comment style

  • DVT-17933 SVTB.16.1.5 False failures for coverpoint part select

Enhancements

  • DVT-17860 Automatically compress generated thread dumps

  • DVT-17909 Filter WIDTH_MISMATCH_PADDING warnings on 'uvm_bitstream_t ' predefined type

22.1.24 (22 August 2022)

Features

  • DVT-17795 New Rule: R.1160 Do not use cross module references

  • DVT-17961 New Rule: R.1161 Do not use always blocks

Bugfixes

  • DVT-17798 Pre-waivers should not match rule configuration errors

  • DVT-17932 SVTB.7.21 False failures for local const variable

  • DVT-17966 XVM30b False failures for parameterized interfaces

Enhancements

  • DVT-17972 Add ids as anchors for rules in generated ruleset documentation

22.1.23 (16 August 2022)

Performance

  • DVT-17864 Improve performance of SVTB.8.4.3

  • DVT-17865 Improve performance of XVM.5.1.4

  • DVT-17882 Improve performance of SVTB.1.5.2

  • DVT-17883 Improve performance of XVM.5.1.6

  • DVT-17943 Improve performance of rule XVM51b

Features

  • DVT-17750 New Rule: R.1151 Do not use the policy argument when overriding the do_print, do_record, do_compare, and do_pack methods

  • DVT-17845 New Rule: R.1157 Delimiter for method implementations

  • DVT-17872 New Rule: R.1159 Named elements indentation

Bugfixes

  • DVT-17914 NPE for Verissimo waivers paths included more than once

  • DVT-17953 SVTB.29.4.0 should fail for macros defined in a different file

Enhancements

  • DVT-17844 Add parameter to SVTB.1.1.4 to skip lines matching specified patterns

  • DVT-17846 Verissimo: Throw error for missing baseline report before build

  • DVT-17962 Add parameter to SVTB.29.4.0 to check macro definitions

22.1.22 (2 August 2022)

Features

  • DVT-17794 New Rule: R.1152 Banned packages

  • DVT-17827 New Rule: R.1155 Do not declare structs

  • DVT-17828 New Rule: R.1153 The zero value enum should match a specified pattern

  • DVT-17829 New Rule: R.1154 Limit number of method arguments

  • DVT-17830 New Rule: R.1156 Limit the nesting of procedural blocks in methods

  • DVT-17873 New Rule: R.1158 Do not declare parameters in global scope

Enhancements

  • DVT-17774 Add parameter to R.1110 to skip specified methods

  • DVT-17805 Add parameter to SVTB.2.3 to specify element kind

  • DVT-17806 Add parameter to SVTB.2.3 to enforce name matching only for files with single element kind

  • DVT-17823 Add support for specifying ruleset and waivers file location to dvt_cli.sh -lint

  • DVT-17824 Add parameter to SVTB.1.1.12 check dimensions in typedefs

  • DVT-17825 Add instance to supported elementKind for SVTB.1.1.20

Bugfixes

  • DVT-17769 XVM.5.1.3.7 should fail for methods called in parent methods

  • DVT-17833 SVTB.8.4.10 & SVTB.8.4.11 False failures for disable/wait statements in conditional blocks

22.1.21 (21 July 2022)

Enhancements

  • DVT-17761 Add parameter to SVTB.19.1 to flag .* connections

Bugfixes

  • DVT-17768 XVM.4.22 should fail for each register API call that is unchecked

  • DVT-17804 Exception thrown when using custom report template from symlinked path

  • DVT-17822 NullPointerException in XVM51

22.1.20 (11 July 2022)

Features

  • DVT-17740 New Rule: R.1150 Do not define methods with the same name as system functions

Enhancements

  • DVT-17739 XVM.7.7 Add parameter to skip checking specified API

Bugfixes

  • DVT-17737 SVTB.12.2.8 False failures for functions that assign the return value through $cast

  • DVT-17738 XVM.7.7 False failures for some documented API

22.1.19 (28 June 2022)

Features

  • DVT-17688 New Rule: R.1145 If blocks must have else in always

  • DVT-17689 New Rule: R.1146 Parameter type must be two state type

  • DVT-17690 New Rule: R.1147 Do not use sequential blocks in always_comb, always_latch, always_ff

  • DVT-17705 New Rule: R.1148 Unused package import

  • DVT-17717 New Rule: R.1149 Access interfaces only in monitors or drivers

Enhancements

  • DVT-17691 Add parameter to SVTB.27.21 to flag only case item generates

  • DVT-17696 Add parameter to R.1120 to allow variables that are sample method arguments

  • DVT-17708 Add module to supported elementKind for SVTB.27.1.0

  • DVT-17710 Add parameter to R.1126 to skip action block kinds

  • DVT-17718 Add parameter to SVTB.12.3.8 to skip tasks

Bugfixes

  • DVT-13544 SVTB.12.4 should not fail for method calls defined in macros

  • DVT-17707 R.1137 False failures for constraints on predefined list methods

22.1.18 (15 June 2022)

Features

  • DVT-17676 New Rule: R.1144 Port naming suffix

Enhancements

  • DVT-17356 SVTB.27.1.0 should throw an error for invalid elementKind parameters

  • DVT-17657 Add parameter to XVM.2.1.4.2.8 to specify base class for non-virtual sequences

  • DVT-17683 Add parameter to XVM.2.6.3 to allow additional fields

  • DVT-17684 Add parameter to R.1143 to check for the field name in fields of class type

  • DVT-17694 Add parameter to XVM3 to skip virtual classes

Bugfixes

  • DVT-17662 SVTB.12.2.8 False failures for functions defined in macros

  • DVT-17663 XVM.7.7 False failures for elements declared in UVM macros

  • DVT-17664 XVM3 False failures for classes inheriting uvm_void

  • DVT-17667 SVTB.12.3.8 False failures for const ref when skipScalarRefArguments is true

  • DVT-17681 XVM.2.6.3 False failures for field of type typedef sequencer

  • DVT-17682 XVM.2.6.3 False failures for fields defined in UVM macros

22.1.17 (8 June 2022)

Performance

  • DVT-17647 Improve performance of SVTB.16.1.5

Enhancements

  • DVT-17408 ExportDesignHierarchyRule should print by default in a Windows compatible file

  • DVT-17604 Ability to specify optional description for inline waivers

  • DVT-17637 Add parameter to R.1141 to skip random variables

  • DVT-17653 R.1056 Should not fail for packed lists of primitive type

Bugfixes

  • DVT-17573 ExportDesignHierarchyRule is not loaded on Windows

  • DVT-17638 R.1141 False failures for virtual interfaces

22.1.16 (31 May 2022)

Features

  • DVT-17561 New Rule: R.1143 Classes that instantiate covergroups should have a specific field

  • DVT-17568 Add auto-correct for SVTB.7.1.4

Enhancements

  • DVT-17544 Add parameter to XVM.2.6.3 to allow inherited fields

  • DVT-17545 Add parameter to XVM.2.6.3 to allow fields of type xvm_sequencer

  • DVT-17547 Add parameter to XVM30a to allow custom enums for active conditional expression

  • DVT-17589 Autocorrect for SVTB.15.7.1 should name the process "proc"

  • DVT-17628 Add parameter to SVTB.7.31 to skip fields of type XVM port

Bugfixes

  • DVT-17548 XVM.3.1.4.8, XVM.3.2.1, XVM.3.2.2, R.1013, R.1037 should not fail for sequences

  • DVT-17556 XVM.7.7 False failures for UVM enum items

  • DVT-17560 SVTB.28.2 False failures for modports

  • DVT-17565 R.1120 Should fail for variables used in conditional coverpoint expressions

22.1.14 (17 May 2022)

Features

  • DVT-14017 Add auto-correct for SVTB.7.12.3.1

Enhancements

  • DVT-17555 Add parameter to R.1141 skip fields of class type

  • DVT-17559 SVTB.25.4.1 should allow multiple comment styles

Bugfixes

  • DVT-17557 R.1056 False failures for enum item comparisons

  • DVT-17558 R.1120 False failures for coverpoints

22.1.13 (9 May 2022)

Enhancements

  • DVT-17486 Build log/output should be consistent across tools

Bugfixes

  • DVT-17539 R.1142 False failures for UVM reporting macros

22.1.12 (3 May 2022)

Features

  • DVT-17510 New Rule: R.1141 Initialize class variables either on declaration or in the constructor

  • DVT-17511 New Rule: R.1142 Assertions should not have a true branch

Enhancements

  • DVT-14540 SVTB.2.12 Auto-correct should replace incorrect include guard name

  • DVT-17498 Add parameter to SVTB.1.1.21 to allow multiple whitespaces after single line comment identifier

  • DVT-17499 Add parameter to SVTB.4.2 to specify allowed list of literal values

  • DVT-17500 SVTB.2.7 Add matched ids value in failure message

  • DVT-17502 Add predefined custom report template for rules in CSV format

22.1.11 (18 April 2022)

Performance

  • DVT-17412 Improve performance of SVTB.31.4

  • DVT-17416 Improve performance of SVTB.12.4

Features

  • DVT-14244 New Rule: R.1139 Multiline statement formatting

Enhancements

  • DVT-17197 Add parameter to SVTB.6.10.1 to allow assignments and associative array exists method as method to read elements

  • DVT-17465 Add parameter to ARSAb to allow any sequencer in the agent

22.1.10 (12 April 2022)

Performance

  • DVT-17413 Improve performance of SVTB.7.33

Enhancements

  • DVT-13591 Including other waiver files should take into account the position of the <include> tag

  • DVT-17441 Add predefined custom report templates to Verissimo for linted files, autocorrect edits and waived failures

Bugfixes

  • DVT-11416 SVTB.7.1.4.1 Should fail for methods with arguments of parameterized type with named parameterization in different order

  • DVT-17427 SVTB.1.1.9 False failures inside macro string arguments

22.1.9 (30 March 2022)

Performance

  • DVT-17415 Improve performance of SVTB.27.5.6

  • DVT-17426 Improve pre-waivers performance for SVTB.19.6

Features

  • DVT-14590 Ability to pre-waive files containing modules instantiated under a top module

  • DVT-17359 New Rule: R.1140 Do not use banned patterns

Enhancements

  • DVT-17366 Add line offset information to failures of SVTB.1.5.1

  • DVT-17397 Add parameter to XVM.2.1.1.1.0 to check macro calls inside another macro call

  • DVT-17401 Add parameter to SVTB.27.10.1 to skip UVM API

Bugfixes

  • DVT-17249 ARMN, ARBF, ARSAa Failures disappear after rebuild and rerun

  • DVT-17429 CHCAb False failures for properties with arguments

22.1.8 (15 March 2022)

Features

  • DVT-17225 New Rule: R.1137 Do not use variables that cannot be randomized in randomize with constraints

  • DVT-17389 License: Add support for inline string license sources

  • DVT-17390 License: Add support for platform independent license source separator &

  • DVT-17391 License: Add support for using a local license by multiple applications at the same time under the same user

Enhancements

  • DVT-17163 Ability to reapply just the check for which auto-correct has been triggered when importing an HTML report

  • DVT-17392 License: Send to the license server the client PID instead of the unused and dummy display value

Bugfixes

  • DVT-17335 SVTB.1.0 does not take into account default value for vertical alignment tokens when running in batch

  • DVT-17358 Compare report should be able to correctly map failures for PKLD, PKVD, PKVR

  • DVT-17393 License: Fixed custom port support in local license sources

22.1.7 (2 March 2022)

Features

  • DVT-15398 Add parameter to XVM.2.1.9 to specify allowed number of hierarchical reference levels for uvm_sequencer

  • DVT-17111 New Rule: R.1136 For-loop variable should be able to hold the loop threshold

  • DVT-17120 New Rule: R.1138 Do not use uvm_sequencer_base.default_sequence configuration parameter to start sequences

Enhancements

  • DVT-17327 Add check information for the waived failures to Verissimo custom report API

22.1.6 (23 February 2022)

Features

  • DVT-16843 New Rule: R.1109 Do not call srandom outside of the class constructor

  • DVT-17207 New Rule: R.1135 Forward typedefs must be before import statements

Enhancements

  • DVT-16992 Add parameter to XVM.2.1.4.2.8 to specify type parameter class for virtual sequence base class

Bugfixes

  • DVT-17186 R.1050 False failures for declaration assignments

22.1.5 (16 February 2022)

Enhancements

  • DVT-17004 Add parameter to SVTB.15.4.1.1 to check for macro call if randomization fails

  • DVT-17108 Add parameter to SVTB.15.4.1.1 to check if/assert condition checking randomize

  • DVT-17206 Report XML errors when specifying the same parameter multiple times

Bugfixes

  • DVT-17224 R.1130 False failures for real variables

  • DVT-17243 R.1128 False failures for replication using parameter as multiplier

22.1.4 (8 February 2022)

Features

  • DVT-17208 New Rule: R.1133 For loop must have a step statement

Enhancements

  • DVT-17173 SVTB.15.8.1 add more details about the identifier with the same name

  • DVT-17177 Add parameter to R.1114 to skip packages and their contents

  • DVT-17178 Ability to specify "global_class", "global_typealias", "package_class" and "package_typealias" as values for R.1114 parameter elementKinds

  • DVT-17179 Add parameter to SVTB.1.1.19 to ignore spaces for closing parentheses on new line

Bugfixes

  • DVT-17133 Improve reported failures for R.1062 and R.1063

  • DVT-17155 SVTB.12.2.8 False failures for infinite loops

  • DVT-17169 R.1128 False failures for list initializations

  • DVT-17172 SVTB.12.2.8 False failures when modifying members of implicit return value

  • DVT-17188 SVTB.12.10 False failures for assignments to interface output ports

22.1.3 (31 January 2022)

Features

  • DVT-16907 Ability to pre-waive unchanged files based on baseline HTML report

  • DVT-16998 New Rule: R.1120 Variables used in conditional coverpoints or bins should be covergroup arguments

  • DVT-17112 New Rule: R.1130 Constraint unsigned variable should use a positive value

  • DVT-17114 New Rule: R.1132 Assertions should not contain function or system calls

Enhancements

  • DVT-17157 Add parameter to SVTB.29.1.0 to specify base class of classes that will be checked

  • DVT-17161 Add parameter to XVM.2.1.15.1, XVM.2.1.4.2.7, XVM.3.1.9.1, XVM.3.3.11.1 and XVM.5.4.4 to skip associative array fields

Bugfixes

  • DVT-17146 SVTB.12.2.9 False failures when modifying members of implicit return value

  • DVT-17153 SVTB.20.15 should fail for increment and decrement operators

22.1.2 (26 January 2022)

Features

  • DVT-17054 New Rule R.1126: 'end' must be placed on the same line or the previous line consistently in the same file

  • DVT-17057 New Rule: R.1128 Do not use single element concatenations

  • DVT-17059 Add auto-correct for SVTB.32.4

  • DVT-17110 New Rule: R.1129 Do not use fractional randomization weights

  • DVT-17134 New Rule: R.1131 Constraint distribution weights should not be negative

Enhancements

  • DVT-17053 Add parameter to SVTB.6.10.1 to allow 'new' as a valid method to remove elements

  • DVT-17070 Add parameter to SVTB.9.10 to check assignments based on the enclosing scope being an initial block or not

  • DVT-17145 Add parameter to SVTB.6.10.1 to allow 'return' as a valid method to read elements

Bugfixes

  • DVT-17074 SVTB.7.12.3.1 False failures for modules with localparams

  • DVT-17107 R.1046 Should fail if there's no space between if and parentheses

  • DVT-17119 False failures for SVTB.1.4.1 in batch mode when running with -autocorrect_reruns

  • DVT-17154 Some scripts are not working correctly when ANSI colors are always set for some system commands

22.1.1 (18 January 2022)

HIGHLIGHTS

Note: Some of the highlights below were rolled-out in 21.1.# hotfix releases for early adopters.

  • Improved performance

  • 107 new rules

  • Auto-correct for 22 rules

  • New predefined rulesets: RTL, Dead Code, Performance, Non-Standard, UVM IEEE 1800-2.2020 Compliance

  • Ability to generate a Progress Report

  • API for exploring the elaborated design hierarchy

Features

  • DVT-8781 New Rule: R.1122 Do not assign `wrealXState and `wrealZState to logic or reg variables

  • DVT-16844 New Rule: R.1121 Call set_item_context before randomizing a sequence

  • DVT-16961 New Rule: R.1118 Import declarations in modules must be before parameters and port lists

  • DVT-17019 New Rule: R.1124 Do not use multiple `xvm_info macro calls inside methods

  • DVT-17020 New Rule: R.1123 Do not use edge delays or #delay in while loops

  • DVT-17055 Add auto-correct for SVTB.4.1.4.1.1

  • DVT-17061 New Rule: R.1127 Don't use case variable in the case item expression

Enhancements

  • DVT-16729 Add parameter to SVTB.5.1.1 to allow using wire for connections in modules

  • DVT-16896 Add parameter to SVTB.10.23 to skip static storage variables

Bugfixes

  • DVT-17014 StackOverflowError in UVM.3.1.4.7, SVTB.7.33, UVM.3.8, UVM.3.9, SVTB.7.36, UVM.2.2.3.1, UVM.2.2.11, UVM23a, SVTB.27.2.0, UVM.2.1.1.1.0, UVM61 and UVM62

  • DVT-17048 SVTB.6.10.1 False failures for arrays read by the streaming operator

  • DVT-17056 SVTB.10.20 False failures for hierarchical name and library binding format specifiers

  • DVT-17073 Incorrect HTML report generated when using -autocorrect

21.1.53 (22 December 2021)

Performance

  • DVT-16989 Progress Report: Performance improvements when rendering the chart

Features

  • DVT-16962 New Rule: R.1119 All interfaces should be instantiated

Enhancements

  • DVT-16970 Ability to merge the categories which have the same name

Bugfixes

  • DVT-16913 SVTB.25.4.0, SVTB.25.4.1 False failures for class comments

  • DVT-16922 SVTB.1.1.26 Wrong auto-correct for do-while blocks

  • DVT-16938 SVTB.1.1.12 False failures for function implementation return type

  • DVT-16987 Wrong ruleset name in generated predefined XML ruleset

  • DVT-17012 Invalid exit code for verissimo.sh when using -dry_run

  • DVT-17013 ClassCastException thrown when running SVTB.7.27

21.1.52 (14 December 2021)

Features

  • DVT-16950 New Rule: R.1116 Do not declare fields of enum type as rand or randc

  • DVT-16965 New Rule: R.1117 Objections must be raised and dropped

Enhancements

  • DVT-16933 Add parameter to SVTB.12.9 to skip methods without any arguments

  • DVT-16974 Add parameter to SVTB.5.9.8 to flag only enum items in constraints

Bugfixes

  • DVT-16980 XVM.2.1.4.2.7 Should fail for class typedef fields

  • DVT-16984 XVM9 & XVM4 False failures for type parameter inheritance

21.1.51 (6 December 2021)

Features

  • DVT-16420 New Rule: R.1038 Do not use the global variable uvm_pkg::factory

  • DVT-16480 New Rule: R.1045 Do not call super.build_phase in user_defined component classes that directly extend UVM base classes

  • DVT-16487 New Rule: R.1049 Zero should not be a possible denominator

  • DVT-16489 New Rule: R.1050 "=+" should not be used instead of "+="

  • DVT-16495 New Rule: R.1051 Do not override the predefined pre- and post- phase methods

  • DVT-16857 Add Non-Standard predefined ruleset to Verissimo

  • DVT-16876 New Rule: R.1111 Raised objections must be dropped

  • DVT-16893 New Rule: R.1114 Do not compile types with the same name in different libraries

  • DVT-16934 New Rule: R.1115 Dropped objections must be raised

Bugfixes

  • DVT-16869 SVTB.1.5.2 Wrong auto-correct because do keyword is considered a single line statement

  • DVT-16923 Illegal reflective access by ro.amiq.dvt.utils.DVTProcessRunner warning when using Java >8

21.1.50 (23 November 2021)

Features

  • DVT-16874 New Rule: R.1110 Method calls with 4 state values for 2 state arguments must include X, Z check

  • DVT-16890 New Rule: R.1112 Always call item_done after get_next_item

  • DVT-16899 New Rule: R.1113 Always call get_next_item before item_done

Bugfixes

  • DVT-16850 SVTB.1.5 Wrong auto-correct for 'if' statement placed on the same line as the case item

  • DVT-16861 Wrong failures in HTML report for checks with maxHitsPerFile parameter

21.1.48 (16 November 2021)

Features

  • DVT-16528 New rule: R.1061 Do not raise or lower objections outside the pre_start / post_start methods of a sequence

  • DVT-16648 Including other ruleset files should take into account the position of the <include> tag

  • DVT-16775 Ability to override fields of rule element in the ruleset

Enhancements

  • DVT-16763 Improve Open HTML report error handling

  • DVT-16831 Add parameter to XVM.5.1.3.9 to check the usages of the string after the uvm_info message context

  • DVT-16873 Add parameter to SVTB.1.4.4.1 to skip fork-join blocks

Bugfixes

  • DVT-16830 XVM.5.1.3.9: False failures triggered by non-string values

  • DVT-16832 XVM.5.1.3.9 : False failures triggered by usage of verbosity check with non-literal values

  • DVT-16834 XVM.2.1.4.2.8 should fail when the create call does not set the second argument for virtual sequences in a test

  • DVT-16848 StackOverflowException when running XVM.3.7 on circular inherited classes

  • DVT-16868 SVTB.1.1.12 should check the spaces between dimensions and identifier in the function header

  • DVT-16878 NullPointerException in SVTB.1.1.9 when reapplying checks after changing source code

  • DVT-16882 NullPointerException in SVTB.11.2.2.3

21.1.47 (8 November 2021)

Performance

  • DVT-16819 Improve performance of XVM.3.6

Features

  • DVT-16815 New Rule: R.1073 Do not use traversal methods for associative arrays

Enhancements

  • DVT-16765 Verissimo Progress Report: Highlight reports with compilation errors

  • DVT-16811 Add Performance predefined ruleset to Verissimo

  • DVT-16814 R.1069 should only fail for foreach used to iterate over associative array

  • DVT-16817 Add -noexit flag for Verissimo launching script

Bugfixes

  • DVT-16754 StackOverflowError in R.1043

  • DVT-16827 IllegalArgumentException thrown when importing a Verissimo HTML report

  • DVT-16837 NullPointerException thrown when running verissimo.sh with -dry_run and -list_unused_available_rules

21.1.46 (2 November 2021)

Performance

  • DVT-16758 Improve performance of SVTB.1.1.9

  • DVT-16796 Improve performance of SVTB.12.5

  • DVT-16797 Improve performance of XVM.2.8.5

  • DVT-16799 Improve performance of SVTB.5.11.2.2

  • DVT-16806 Improve performance of SVTB.1.8 auto-correct

  • DVT-16818 Improve performance of SVTB.6.5.1.1 and SVTB.29.1.3.1

Enhancements

  • DVT-16657 Improve SVTB.5.2.7 rule by checking if statement condition and right-hand side of the assignment

  • DVT-16753 Improve ExportDesignHierarchy rule to explore elaborated design hierarchy

  • DVT-16789 Add line offset information to failures of SVTB.1.4.1

Bugfixes

  • DVT-16773 SVTB.1.4.5 Wrong auto-correct for begin block preceded by conditional compilation directives

21.1.45 (26 October 2021)

Features

  • DVT-16762 New Rule: R.1072 Do not declare embedded covergroups

Enhancements

  • DVT-16761 SVTB.7.34 should check all classes when "baseClass" parameter is empty

  • DVT-16764 Add line offset information to failures of SVTB.1.5

  • DVT-16785 Improve performance of SVTB.1.1.10 auto-correct

  • DVT-16787 Add pre-waiver support to XVM.2.1.1.3, XVM.2.1.17, XVM.3.3.11.1, XVM.4.21.1, XVM.5.1.3.8, XVM.5.3.2, XVM30c, SVTB.5.11.2.3, SVTB.15.4.1.1, SVTB.27.2.0, SVTB.27.3.2 and SVTB.31.2.1

Bugfixes

  • DVT-16774 R.1000 False failures for uvm_*_port

  • DVT-16780 SVTB.1.5.2 False failures for statements preceded by comments containing strings

21.1.44 (19 October 2021)

Enhancements

  • DVT-16751 Add pre-waivers support to multiple Verissimo checks

  • DVT-16719 Improve performance of rule SVTB.1.1.10

Bugfixes

  • DVT-16724 SVTB 31.1.0 False failures for signal in named implicit port connection

  • DVT-16726 SVTB.1.5.2 Wrong failure line for if block preceded by imbricated `ifdefs

  • DVT-16727 SVTB.1.5.2 Wrong auto-correct for lines with comments and blank lines

  • DVT-16760 SVTB.1.1.10 should fail when only tabs are around binary operators

21.1.43 (11 October 2021)

Features

  • DVT-13418 Ability to use auto-correct in batch mode

  • DVT-16625 Ability to import a Verissimo HTML report in the Verissimo GUI report

  • DVT-16685 New Rule R.1069: Do not use foreach to iterate over associative arrays or iteration methods for class key associative arrays

  • DVT-16700 New Rule: R.1070 Do not use for loops without initialization

  • DVT-16704 New Rule: R.1071 Use a single style of module header definition

Enhancements

  • DVT-13650 Ability to hide manual checks in the HTML report

  • DVT-15339 Ability to hide auto-correctable checks in the HTML report

  • DVT-16691 Add parameter to XVM.5.1.3.6 to skip `xvm_info macro calls followed by specified macro calls

  • DVT-16705 Add parameter to R.1071 to force the use of a certain module header definition style

  • DVT-16715 Change default ruleset to basic

Bugfixes

  • DVT-16723 Default severity of R.1080-R.1107 RTL linting rules should be error

21.1.42 (4 October 2021)

Features

  • DVT-16484 New rule: R.1047 Do not use identical expressions on both sides of a binary operator

  • DVT-16511 New Rule: R.1056 Assertions comparing incompatible types should not be made

  • DVT-16644 New Rule: R.1066 Check for plusarg aliasing

  • DVT-16645 New Rule: R.1067 Use plusargs only in initial blocks

Enhancements

  • DVT-13759 Add support for relative paths when using -gui argument

Bugfixes

  • DVT-13477 SVTB.31.1.0 False failures on design element members when specifying -top in default.build

  • DVT-16689 dvt_cli.sh -lint should have UVM as the default library kind

21.1.41 (27 September 2021)

Features

  • DVT-16479 New rule R.1046: Related if/else if statements should not have the same condition

Enhancements

  • DVT-16684 Add pre-waiver support to SVTB.1.7, SVTB.12.8, SVTB.27.5.1, SVTB.27.5.2, SVTB.27.6.3, SVTB.27.10.1, SVTB.27.14, SVTB.31.1.0, SVTB.31.4, XVM.2.8.5, XVM.2.9.1.5.1

Bugfixes

  • DVT-16559 Ensure that DVT distro scripts run with POSIX mode disabled

21.1.40 (21 September 2021)

Features

  • DVT-16277 New rule: R.1027 Do not use uvm_printer_knobs fields

  • DVT-16406 New Rule: R.1035 Do not use the internal variable xvm_sequence_item::m_sequence

  • DVT-16428 New Rule: R.1040 Do not use get_config_int, get_config_string, get_config_object

  • DVT-16434 New Rule: R.1042 Do not include files using their paths

  • DVT-16498 New rule: R.1052 Getters should refer the expected fields

  • DVT-16517 New rule: R.1057 Setters should refer the expected fields

  • DVT-16580 New Rule: R.1064 Do not use locally generated clocks

  • DVT-16599 New Rule: R.1065 Do not call get or get_next_item from drivers

Enhancements

  • DVT-16536 Add parameter to ARBF and similar rules to allow create calls in conditional code that checks the active field from a configuration class

  • DVT-16640 XVM.5.1.3.9 add support for additional string processing in the macro call

  • DVT-16647 SVTB.10.20 should fail for unnecessary string formatting

  • DVT-16660 Verissimo: Prompt to refresh out of sync files when trying to apply auto-correct

Bugfixes

  • DVT-16621 XVM.2.1.4.2.8 Update rule description with example and specify sequencer base class

  • DVT-16622 XVM.2.1.4.2.8 False failures for custom defined sequencer base class

  • DVT-16642 Verissimo: Check description dialog option should exists when text contains very long lines

21.1.39 (15 September 2021)

Features

  • DVT-16279 Add API for exploring the elaborated design hierarchy

Bugfixes

  • DVT-16566 SVTB.1.5.2 False failures for statement on the next line after an event control

  • DVT-16613 XVM.2.1.15.1 Wrong auto-correct for hierarchical identifiers used as name argument

  • DVT-16615 ConcurrentModificationException thrown after performing auto-correct

  • DVT-16620 SVTB.12.1.2 should not autocorrect failures in files compiled with Verilog 2001

  • DVT-16623 Remove information about fixed Verissimo issues from HTML Report and Failures Report

21.1.38 (8 September 2021)

Features

  • DVT-16485 New Rule: R.1048 Do not repeat unary prefix operators

  • DVT-16500 New Rule: R.1054 Use `include directives within a package to allow each class to be placed in a separate file

  • DVT-16501 New Rule: R.1055 Set propagate mode of every objection to 0

  • DVT-16518 New Rule: R.1058 Use packing macros when overriding do_pack

  • DVT-16521 New Rule: R.1059 Use unpacking macros when overriding do_unpack

  • DVT-16523 New Rule: R.1060 Use recording macros when overriding do_record

  • DVT-16540 New Rule: R.1062 Variables not read

  • DVT-16541 New Rule: R.1063 Variables not written

Enhancements

  • DVT-16527 Add parameter to XVM23b to allow analysis port instantiation in specified methods

  • DVT-16532 Add parameter to XVM55 to allow additional statements in the run_phase

  • DVT-16538 Add auto-corrected failures information to Verissimo custom report API

  • DVT-16614 Add line offset information to failures of SVTB.5.2.8

Bugfixes

  • DVT-15163 SVTB 8.4.3 false failures for disable fork on separate threads in fork-join_none block

  • DVT-16526 XVM23b False failures for instantiations of arrays of analysis ports

  • DVT-16531 XVM55 False failures for fork join blocks in forever blocks

  • DVT-16576 Verissimo HTML report hyperlinks are missing in DVT Eclipse 4.19 distributions

  • DVT-16595 SVTB.15.6.1 False failures for comparisons with literal values

  • DVT-16612 SVTB.2.12 False failures in files preceded by 2 comment blocks

21.1.36 (30 August 2021)

Features

  • DVT-16561 New Rules: R.1080-R.1107 RTL linting rules

21.1.35 (23 August 2021)

Bugfixes

  • DVT-16475 SVTB.1.1.24 False failures for variables preceded by curly brackets

  • DVT-16477 SVTB.1.1.24 False failures for multiple declarations on the same line

21.1.34 (16 August 2021)

Enhancements

  • DVT-16493 XVM.7.3.4 should auto-correct all possible failures at once

Bugfixes

  • DVT-16483 NullPointerException in R.1033 auto-correct

21.1.33 (9 August 2021)

Features

  • DVT-16405 New Rule: R.1036 XVM Sequence constructor

  • DVT-16427 New Rule: R.1043 Do not override sub-run phases

  • DVT-16429 New Rule: R.1039 Do not raise or lower objections outside tests

  • DVT-16433 New Rule: R.1041 Do not use timescale in the compiled files

  • DVT-16471 New Rule: R.1044 Do not use UVM IEEE 1800.2-2020 uvm_reg.get_local_map deviation

Enhancements

  • DVT-16063 Add parameter to XVM.2.1.4.4.1 to allow loop equivalents of forever loop

Bugfixes

  • DVT-16465 Multiple exceptions thrown when dvt_build.log is read-only

21.1.32 (3 August 2021)

Performance

  • DVT-14496 Improve memory footprint of SVTB_33.1.0, SVTB_33.2.0, SVTB_33.3.0

  • DVT-16446 Improve performance of rules SVTB.19.5 and SVTB.19.6

Features

  • DVT-16385 New Rule: R.1033 Call macro from specified method

  • DVT-16404 New Rule: R.1037 Sequence items must implement do_record

Enhancements

  • DVT-16422 Add waiver information to custom report API

  • DVT-16432 Add parameter to SVTB.27.3.1 to check only private members

Bugfixes

  • DVT-15785 Report XML errors when using wrong attribute names in the waivers file version 6

21.1.31 (27 July 2021)

Features

  • DVT-15806 New Rule: SVTB.19.5 Do not use cross module references unless they are done through macros

  • DVT-15808 New Rule: SVTB.19.6 Do not use cross module references unless they are enclosed in `ifdef/`ifndef guards

Enhancements

  • DVT-16395 Add pre-waivers element type validation in the Verissimo waivers XML file

  • DVT-16396 Add parameter to SVTB.1.1.12 to allow vertically aligned unpacked dimensions

  • DVT-16407 Add reasons for unfixable failures when using autocorrect on SVTB.1.1.10 and SVTB.1.1.25

Bugfixes

  • DVT-16394 NullPointerException in SVTB.27.21

  • DVT-16424 Verissimo generates custom report with null extension when template file has .ftl extension

21.1.30 (20 July 2021)

Enhancements

  • DVT-16264 Add parameter to SVTB.11.3 to allow missing default case item for fully specified variables

  • DVT-16296 Add examples to the description of rules that support auto-correcting

  • DVT-16353 Ability to rerun auto-correct until all issues are fixed

  • DVT-16363 Refine predefined rulesets naming

  • DVT-16365 XVM.7.3.4 should not auto-correct inside macros

Bugfixes

  • DVT-16295 XVM.5.2.1.2 False failures for type overrides called in child classes

  • DVT-16362 Fixed NullPointerException in SVTB.1.5.2

  • DVT-16374 SVTB.1.1.12 Wrong auto-correct for multiple method arguments

  • DVT-16377 Fixed horizontal scrollbar in the Verissimo HTML report

21.1.29 (12 July 2021)

Performance

  • DVT-16354 Improve performance of SVTB.1.0

Bugfixes

  • DVT-16285 SVTB.15.6.1 False failures for constant expression casting

  • DVT-16360 SVTB.1.1.5 should take into account the value of the maxHitsPerFile parameter

21.1.28 (6 July 2021)

Features

  • DVT-16164 New Rule: R.1013 Sequence items must override do_pack and do_unpack

Enhancements

  • DVT-16280 SVTB.27.22 Should fail for macro names

  • DVT-16281 Add parameter to SVTB.27.22 to check inactive code

Bugfixes

  • DVT-16265 SVTB.14.10.9 False failures when using cycle delay before sampled value function in property

  • DVT-16302 SVTB.1.5 Wrong auto-correct for if statement inside fork

  • DVT-16315 XVM.2.8.5 False failures inside class constructor

21.1.27 (28 June 2021)

Features

  • DVT-16243 New Rule: R.1012 Set the at_least option of each covergroup and each coverpoint to a value different than 1

  • DVT-16313 New Rule: R.1032 Do not use UVM IEEE 1800.2-2020 deviations

Enhancements

  • DVT-16282 Add line offset information to failures of SVTB.1.1.10, SVTB.10.7.3 and SVTB.12.4

  • DVT-16307 Refine UVM IEEE 1800-2.2020 compliance predefined ruleset

Bugfixes

  • DVT-16286 SVTB.9.12 False failures for increment operators

  • DVT-16298 BadLocationException in SVTB.31.3.2 when the case item expression contains macro calls

21.1.26 (22 June 2021)

Features

  • DVT-16276 New Rule: R.1025 Do not use uvm_top

  • DVT-16278 New Rule: R.1026 Do not use xvm_root.run_test()

  • DVT-16283 New Rule: R.1028 Call $fopen with type argument specified

Enhancements

  • DVT-16258 Add parameter to XVM.2.8.5 to specify methods for allowed type overrides

Bugfixes

  • DVT-15677 SVTB.4.1.7 False failures for literal values containing the base format

  • DVT-16262 SVTB.1.1.25 False failures inside macros

21.1.25 (16 June 2021)

Enhancements

  • DVT-16240 Add number of linted lines information to custom report API

  • DVT-16260 Enhance error message with macro information when auto-correcting SVTB.5.11.2.1

Bugfixes

  • DVT-16225 SVTB.6.10.1 False failures for queue used with set membership operator

  • DVT-16242 SVTB.10.20 False failures for real numbers with fractional digits format

  • DVT-16261 Unable to auto-correct for SVTB.15.4.1.1 when randomize is casted to void

21.1.24 (8 June 2021)

Features

  • DVT-16228 New Rule: R.1010 Do not assign a variable to itself

Enhancements

  • DVT-16236 Add parameter to SVTB.29.1.7 and XVM.5.1.1 to skip banned method calls in static methods

21.1.23 (3 June 2021)

Features

  • DVT-16224 New Rule: R.1011 Do not instantiate UVM IEEE virtual classes

Enhancements

  • DVT-16053 Add auto-correct information to Verissimo custom report API

  • DVT-16192 Add parameter to XVM.2.8.5 to specify base class for allowed type overrides

Bugfixes

  • DVT-16193 XVM.2.1.1.5 False failures for inner classes

  • DVT-16219 XVM.2.1.4.2.8 'this' should be used as second argument of create call for virtual sequences in a test

  • DVT-16237 Hardwire the shell used by distribution scripts to /bin/bash

21.1.22 (24 May 2021)

Features

  • DVT-16195 New Rule: R.1009 XVM instance naming pattern

Enhancements

  • DVT-16054 Ignore maxHitsPerFile parameter when using auto-correct

Bugfixes

  • DVT-16207 Verissimo identifies certain user files as UVM library files

21.1.20 (17 May 2021)

Features

  • DVT-14015 Add auto-correct for SVTB.5.2.8

  • DVT-16079 New Rule: R.1006 Do not use tri0/tri1 net declarations

  • DVT-16080 New Rule: R.1002 Do not declare real variables

  • DVT-16081 New Rule: R.1003 Do not use initial and final blocks

  • DVT-16142 New Rule: R.1005 Classes must be defined within a package

  • DVT-16148 Ability to checkout files from Perforce when using auto-correct in batch mode

  • DVT-16149 New Rule: R.1008 Do not declare and instantiate covergroups in transactions and sequences

Bugfixes

  • DVT-16022 SVTB.31.3.3 wrong auto-correct when the for loop changes variables declared in an enclosing scope

  • DVT-16151 SVTB.1.5 wrong auto-correct for case item statements

  • DVT-16157 SVTB.5.2.8 False failure for case item statements

  • DVT-16167 R.1004 Should fail for both target modules and bound modules

21.1.19 (10 May 2021)

Features

  • DVT-14014 Add auto-correct for XVM.2.1.15.1

  • DVT-14018 Add auto-correct for XVM.2.1.1.5

  • DVT-15961 Add auto-correct for SVTB.1.5

  • DVT-15998 Add auto-correct for SVTB.1.1.2.0

  • DVT-15999 Add auto-correct for SVTB.1.1.12

  • DVT-16001 Add auto-correct for SVTB.1.5.1

  • DVT-16091 New Rule: R.1001 Do not use MOS switches

  • DVT-16126 New Rule: R.1000 UVM IEEE Compliance

  • DVT-16128 New Rule: R.1004 Do not bind a module in the same file with its declaration

  • DVT-16152 New Rule: R.1007 When overriding XVM virtual methods do not use the virtual keyword

Enhancements

  • DVT-16089 Add parameter to SVTB.1.5.2 to allow lines with comments between the 'if' and the single line statement

  • DVT-16124 Improve performance of SVTB.1.1.8 and SVTB.1.1.16 auto-correct

  • DVT-16127 Add UVM IEEE Compliance predefined ruleset to Verissimo

Bugfixes

  • DVT-16109 SVTB.1.1.12 False failure for unpacked dimensions of array type

  • DVT-16113 SVTB.27.22 Should fail for names containing specified patterns

21.1.18 (28 April 2021)

Bugfixes

  1. DVT-16110 Tool does not start under certain Windows 10 configurations

21.1.17 (26 April 2021)

Features

  • DVT-15729 New Rule: XVM.4.21.2 uvm_config_db::get calls must have a corresponding uvm_config_db::set call

  • DVT-15959 Add auto-correct for SVTB.1.4.1

  • DVT-15960 Add auto-correct for SVTB.1.4.5

  • DVT-15995 Add -dry_run argument to verissimo.sh in order to validate arguments without license checkout

Enhancements

  • DVT-16010 XVM.2.8.9 should check that there are raised and dropped objections in the test run phase

Bugfixes

  • DVT-16023 SVTB.10.7.3 wrong auto-correct when using only delay inside an action block

21.1.15 (20 April 2021)

Features

  • DVT-15955 Add auto-correct for SVTB.1.1.23

  • DVT-15956 Add auto-correct for SVTB.1.1.24

  • DVT-16000 Add auto-correct for SVTB.1.4.2

  • DVT-16049 New Rule: SVTB.1.0 Files should be formatted

Bugfixes

  • DVT-14676 SVTB.27.8.1 wrong auto-correct when the renamed variable is used in macro

  • DVT-15937 XVM.2.1.1.3 False failures for field of type packed array of enums

  • DVT-16009 SVTB.7.12.3 False failures for interface port declarations

  • DVT-16056 SVTB.1.1.1 should report maxHitsPerFile failures when there are multiple tabs on the same line

  • DVT-16062 SVTB.28.2 False failures for coverpoints

  • DVT-16071 SVTB.5.11.2.1 wrong auto-correct when $cast calls are casted to void

21.1.14 (13 April 2021)

Features

  • DVT-15610 New Rule: XVM.4.29 Regular expressions should be syntactically valid

  • DVT-15951 Add auto-correct for SVTB.1.1.16

  • DVT-15963 Add auto-correct for SVTB.1.8

  • DVT-16011 Ability to automatically generate thread dumps for specified rules

Bugfixes

  • DVT-16024 SVTB.12.1.2 wrong auto-correct for methods defined inside macro

  • DVT-16026 SVTB.2.12 wrong auto-correct: sometimes include guards are inserted inside comments

  • DVT-16027 NullPointerException in SVTB.1.1.26

  • DVT-16029 NullPointerException in rule SVTB.12.11

  • DVT-16030 NullPointerException in SVTB.10.6.1 and SVTB.10.6.1.0

  • DVT-16044 SVTB.7.26 auto-correct does not delete constructors that calls only super.new()

21.1.13 (5 April 2021)

Features

  • DVT-15949 Add auto-correct for SVTB.1.1.2

  • DVT-15957 Add auto-correct for SVTB.1.1.25

  • DVT-15962 Add auto-correct for SVTB.1.5.2

Enhancements

  • DVT-8678 XVM.3.1.4.1 should not give failures in non-UVM classes

  • DVT-8907 XVM architecture based checks should not use ruleset defined suffixes to identify components

  • DVT-15861 Use existing arguments to add compare reports when generating HTML Progress Report

  • DVT-15972 Improve performance for SVTB.1.1.24

Bugfixes

  • DVT-15985 SVTB.1.1.25 False failures for comments between procedural statement keyword and open parenthesis

  • DVT-16016 Verissimo runs all rules when no rules are specified in the ruleset XML file

  • DVT-16020 NullPointerException in XVM.3.1.4.3.2 and XVM.3.2.2.1

21.1.12 (30 March 2021)

Features

  • DVT-15950 Add auto-correct for SVTB.1.1.13

  • DVT-15952 Add auto-correct for SVTB.1.1.17

  • DVT-15953 Add auto-correct for SVTB.1.1.19

  • DVT-15954 Add auto-correct for SVTB.1.1.20

  • DVT-15958 Add auto-correct for SVTB.1.1.26

21.1.11 (22 March 2021)

Features

  • DVT-15821 New Rule: XVM.10.3 Do not use deprecated global variables for default printers

  • DVT-15865 New Rule: SVTB.10.24 Do not compare enum variables to literal values

  • DVT-15915 New Rule: SVTB.4.2 Do not compare literals

  • DVT-15917 Add support for "disable" as attribute for -rulepool_xml_include argument of verissimo.sh

  • DVT-15918 Use tabs consistently in generated rulepool XML file

Enhancements

  • DVT-15891 XVM.3.1.4.2.2, XVM.3.1.4.3.2, XVM.3.1.4.4.2, XVM.3.2.1.1, XVM.3.2.2.1 & XVM.3.2.3.1 should not fail for fields registered with `xvm_field_* macros

  • DVT-15946 Add parameter to SVTB.7.38 to skip checking calls that generate singleton objects

  • DVT-15947 Add parameter to SVTB.7.38 to check all the nested macro names

Bugfixes

  • DVT-15884 SVTB.5.2.7 False failures for concatenation of enum types

  • DVT-15901 SVTB.27.14 False failures for parameters of overriding methods

  • DVT-15939 Generating ruleset documentation does not take into account the disable attribute when specifying check severity

  • DVT-15944 NullPointerException in SVTB.7.1.2 and SVTB.7.1.2.1 auto-correct

  • DVT-15945 BadLocationException in SVTB.1.1.10 auto-correct

21.1.10 (15 March 2021)

Features

  • DVT-15832 New Rule: SVTB.27.22 Do not use banned words

Enhancements

  • DVT-15904 Add parameter to PKFN to skip checking files that contain classes that inherit from specified base classes

Bugfixes

  • DVT-15883 ARMN, ARBF, ARSAa False failures for create calls outside of classes

  • DVT-15910 XVM23a False failures for inherited analysis ports from virtual base class

21.1.9 (8 March 2021)

Features

  • DVT-15866 New Rule: SVTB.7.38 Do not modify class variables in print macros

21.1.8 (1 March 2021)

Features

  • DVT-15721 New Rule: SVTB.33.4.0 Do not compile the same file in multiple libraries

Enhancements

  • DVT-15851 XVM.2.8.9 Should not fail for tests that do not override run_phase

Bugfixes

  • DVT-15860 XVM23a False failures for classes with names matching the monitor name pattern

21.1.7 (22 February 2021)

Features

  • DVT-15346 Ability to generate a Progress Report from multiple Verissimo HTML reports

  • DVT-15544 Add -license_queue_timeout argument to specify the maximum time in seconds to wait in queue for a license

Enhancements

  • DVT-6664 Add Dead Code predefined ruleset to Verissimo

  • DVT-14094 Add RTL predefined ruleset to Verissimo

  • DVT-15543 Print the "Waiting for license..." message event when using -silent argument

Bugfixes

  • DVT-15833 XVM.3.4.3 False failures for hierarchical referenced sequencer arrays

21.1.6 (15 February 2021)

Features

  • DVT-15731 New rule: SVTB.32.4 Do not use long if else if chains

Bugfixes

  • DVT-15774 SVTB.27.14 False failures for loop variables of generate blocks

  • DVT-15790 SVTB.2.10 False failures for uppercase string value of headerValue parameter

  • DVT-15823 Running verissimo.sh with -zero_exit_on_lint_failures returns compilation error exit code

  • DVT-15824 Running verissimo.sh with -ignore_lint_* is not reflected in the exit code

21.1.5 (5 February 2021)

Enhancements

  • DVT-15734 Add parameter to XVM.4.20 to allow assigning the virtual interface through a variable

Bugfixes

  • DVT-15724 Report XML error when using wrong attribute for paths tag in the Verissimo waivers file

21.1.4 (2 February 2021)

Enhancements

  • DVT-15743 XVM.2.9.2.8 should check all types of subscribers

  • DVT-15745 Add parameter to SVTB.2.19 to skip classes declared in macros

Bugfixes

  • DVT-15703 XVM.3.1.4.2.2, XVM.3.1.4.3.2, XVM.3.1.4.4.2, XVM.3.2.1.1, XVM.3.2.2.1 & XVM.3.2.3.1 False failures for field accesses using the "this" object handle

  • DVT-15719 XVM52 False failures for XVM classes fields

  • DVT-15733 XVM30b False failures for interfaces with modports

  • DVT-15739 XVM.4.23 False failures for variables with initial values

21.1.3 (25 January 2021)

Features

  • DVT-9144 New Rule: SVTB.32.3 Infinite loop detection

Bugfixes

  • DVT-15717 SVTB.31.3.0 False failures for named begin-end blocks

  • DVT-15718 SVTB.31.3.0 False failures for begin-end blocks containing inactive code

21.1.2 (18 January 2021)

Enhancements

  • DVT-13918 Rules ARBF, ARIN, ARMN and ARSAa should resolve type parameters

Bugfixes

  • DVT-15674 SVTB.33.2.0 False failures in covergroups

21.1.1 (11 January 2021)

HIGHLIGHTS

Note: Some of the highlights below were rolled-out in 20.1.# hotfix releases for early adopters.

  • Improved performance

  • 87 new rules

  • New auto-correct capabilities for 1 rule

  • Filtering the failures based on creation date collected from revision control systems or the filesystem

  • Improved the usability of the report and rulepool documentation

  • Improved validation of ruleset and waivers XML files

Performance

  • DVT-15701 Improve performance of rule XVM51b for bottom-up implementation

Features

  • DVT-15685 New Rule: SVTB.31.7 Do not call substr() with argument values outside of the expected bounds

Bugfixes

  • DVT-14484 XVM28 False failures for driver with default parametrization

  • DVT-15633 XVM.3.4.3 False failures for sequencer arrays

  • DVT-15663 SVTB.31.4 False failures for associative arrays, dynamic arrays and queues read or written with their predefined methods

  • DVT-15675 SVTB.32.1.0 should not fail for covergroup sample method arguments

  • DVT-15687 Rulepool/ruleset documentation page scrolls up when writing characters in the filter bar

  • DVT-15695 Waivers generated by +dvt_auto_snps_vip_waivers should be applied automatically in batch mode

  • DVT-15712 MSUA False failures for UVM library print methods

20.1.44 (21 December 2020)

Performance

  • DVT-15651 Improve performance of SVTB.29.1.3.1

Features

  • DVT-15594 New Rule: SVTB.31.6 Do not compare a variable to itself

  • DVT-15600 New Rule: SVTB.10.23 Values should not be uselessly incremented

  • DVT-15609 New Rule: SVTB.10.22 Variables should not be shifted by zero or more than their number of bits-1

Enhancements

  • DVT-15601 Add parameter to SVTB.2.16.1 to allow certain macro names

  • DVT-15602 Add parameter to SVTB.2.16.1 to check inactive nested `ifdef or `ifndef

Bugfixes

  • DVT-15645 Filter bar overlaps results when using Table of Contents links in ruleset/rulepool documentation

  • DVT-15660 SVTB.30.1.0 & SVTB.30.3.0 False failures for predefined API when invertedFilter is true

  • DVT-15662 SVTB.12.2.9 False failures for incrementing or decrementing the implicit return value

20.1.42 (4 December 2020)

Features

  • DVT-14319 New Rule: XVM.7.7 Do not use undocumented UVM API

  • DVT-14580 Ability to switch to dark theme in Verissimo HTML Report

  • DVT-15598 New Rule: SVTB.31.5 Do not use useless if/assert blocks

  • DVT-15599 New Rule: SVTB.29.10 Banned API declared in files

  • DVT-15605 Add pre-waiver support to XVM.3.6

Enhancements

  • DVT-14211 Report rule internal exception as single rule failure

20.1.41 (20 November 2020)

Features

  • DVT-14456 New Rule: SVTB.2.16.1 Do not use `ifdef or `ifndef compiler directives

Enhancements

  • DVT-14399 Validate regexes used in waivers and ruleset files

  • DVT-15591 Add total number of checks to filter bar in generated rulepool/ruleset documentation

Bugfixes

  • DVT-13658 Report title is wrong when using verissimo.sh -gui with a custom ruleset

  • DVT-15569 Unable to run verissimo.sh -gui with a custom ruleset

20.1.40 (13 November 2020)

Features

  • DVT-12826 New Rule: SVTB.9.12 All assignments in always_ff blocks are non-blocking and all assignments in always_comb blocks are blocking

Enhancements

  • DVT-11666 & DVT-15397 Ability to filter checks in the generated ruleset/rulepool documentation

  • DVT-13228 Verissimo should stop linting for inexistent included XML files and unresolved environment variables

  • DVT-15456 Add parameter to SVTB.19.1 to specify the minimum number of ports for which to apply the rule

Bugfixes

  • DVT-15562 Verissimo should not proceed when the full build is canceled

20.1.39 (9 November 2020)

Performance

  • DVT-14100 Improve performance for SVTB.9.10

Features

  • DVT-14472 New Rule: XVM.4.14 Object class name

  • DVT-15275 New rule: SVTB.2.21 Conditional preprocessing blocks must not cross file boundaries

  • DVT-15409 New Rule: XVM.3.9 do_kill method should be overridden if the kill method of a sequence is called

  • DVT-15429 New Rule: SVTB.8.2.1 Always blocks should always have an event control

Bugfixes

  • DVT-15539 SVTB.1.4.2 False failures for virtual interfaces in different files

  • DVT-15550 Scripts platform check doesn't work for all 64-bit platforms

20.1.38 (30 October 2020)

Features

  • DVT-15449 Add parameter to SVTB.29.4.0 to specify macro name pattern

Enhancements

  • DVT-15473 Add parameter to SVTB.7.12.3.1 to skip parameters which have other parameters as default value

Bugfixes

  • DVT-15487 SVTB.10.16 False failures for conditional ternary operators

  • DVT-15493 SVTB.12.4 Failure messages should not contain "Unresolved Hid"

  • DVT-15515 SVTB.15.4.1.1 False failures for randomize calls in extern methods with the implementation in a different file

  • DVT-15524 XVM51 should not report failures when creating instances of child classes

  • DVT-15528 Exception logger is not printing the stack trace

20.1.37 (23 October 2020)

Performance

  • DVT-15499 Improve performance of rule XVM51b for top-down implementation

Features

  • DVT-15395 New Rule: SVTB.29.1.10 Banned method calls from specified methods

Enhancements

  • DVT-15347 Ability to generate Verissimo custom report from existing HTML report

  • DVT-15470 Add parameter to XVM.2.1.4.2.8 to skip creation of singleton objects

Bugfixes

  • DVT-15483 SVTB.5.1.2 reports inconsistent number of failures

20.1.36 (16 October 2020)

Features

  • DVT-14369 New Rule: SVTB.1.1.26 Begin-end blocks indentation

  • DVT-15412 New Rule: SVTB.27.20.1 End label pattern

  • DVT-15422 New rule: SVTB.9.11 Non-blocking assignments are not allowed in functions

  • DVT-15425 New Rule: SVTB.11.5 Case statements must not have more than one default case item

  • DVT-15439 New Rule: SVTB.9.3 Do not use the same structure/array pattern key in assignment patterns

  • DVT-15447 New Rule: SVTB.2.20 File encoding must be the same in all files

Enhancements

  • DVT-15423 Add parameter to SVTB.7.37 to check parameters of modules, interfaces and programs

  • DVT-15453 Add parameters to XVM.2.6.3 to specify driver, sequencer, monitor name patterns

Bugfixes

  • DVT-15462 Unable to generate code waivers in Windows

20.1.34 (2 October 2020)

Performance

  • DVT-14623 Improve memory footprint of XVM.3.6

Features

  • DVT-15355 New Rule: SVTB.10.1.1 Macros used in arithmetic expressions must be enclosed in parenthesis

Enhancements

  • DVT-13907 XVM.2.1.4.4.1 Correctly detect forever loops regardless of the coding pattern

20.1.33 (28 September 2020)

Features

  • DVT-13858 New Rule: SVTB 1.1.23 Signal list must be on new line for interfaces with parameters

  • DVT-14460 New Rule: XVM.4.28 Do not call uvm_config_db::get/set from run phases

Enhancements

  • DVT-15231 Display errors on multiple pages if Verissimo Auto-Correct encounters too many unfixable hits

  • DVT-15365 Add parameter to SVTB.2.10 to specify header lines

  • DVT-15381 XVM.3.4.3 should allow tasks that wrap start calls

Bugfixes

  • DVT-15399 StackOverflowException in XVM.2.3.9

20.1.32 (17 September 2020)

Features

  • DVT-14804 Add parameter to SVTB.12.6 to skip counting lines that match specified regex

  • DVT-14805 New Rule: SVTB.25.14 Comment consistency for functions and tasks

Bugfixes

  • DVT-15342 SVTB.12.2.9 false failures when using the implicit result variable as a method argument

  • DVT-15345 Verissimo compare reports should consider failures of checks with different descriptions or effort estimation as common failures

20.1.31 (11 September 2020)

Features

  • DVT-8647 New Rule: SVTB.31.4 Unread or unwritten class variables and members

  • DVT-13270 New Rule: SVTB.1.1.25 Space between procedural statements and open parenthesis

  • DVT-15179 Ability to annotate failures with information from ClearCase

Enhancements

  • DVT-13965 Add parameter to SVTB.1.1.2.0, SVTB.1.1.2 & SVTB.1.1.6 to check comment indentation

  • DVT-15195 Ability to generate ruleset file containing all the unused available rules

  • DVT-15274 Ability to specify check pre-waivers in the waivers file

  • DVT-15319 Add API to to get the Verissimo version in the Custom Reports

  • DVT-15322 Ability to generate ruleset file containing specified attributes

  • DVT-15323 Add constraint to supported elementKinds for rule SVTB.27.1.0

Bugfixes

  • DVT-7135 HTML Report title depends on initial ruleset kind instead of the library kind passed through command line or ruleset

  • DVT-15318 Unable to generate compare report from older HTML reports

20.1.30 (3 September 2020)

Features

  • DVT-14378 New Rule: SVTB 1.1.24 Vertical alignment for declarations

  • DVT-15297 New Rule: SVTB.27.21 All begin blocks must have label

Enhancements

  • DVT-14357 Set default severity of all rules to error

  • DVT-15253 Show in HTML report how many failures can be automatically corrected

  • DVT-15298 Add parameter to SVTB.27.20 and SVTB.27.21 to apply the check only on generate blocks

Bugfixes

  • DVT-15204 SVTB.33.2.0 reports multiple failures for long functions

  • DVT-15313 SVTB.1.1.17 Failures not shown when having more than two declarations for a variable

20.1.29 (28 August 2020)

Features

  • DVT-15242 New Rule: SVTB.6.12 Do not declare bounded queues

Enhancements

  • DVT-14970 Add parameter to XVM.2.1.8 and XVM.2.1.9 to allow certain method calls

  • DVT-15198 Add parameter to SVTB.1.8 to allow certain UTF characters

  • DVT-15247 Add allowPragmaWaivers parameter to SVTB.25.13

  • DVT-15261 Add pre-waiver support to XVM60

  • DVT-15262 Add pre-waiver support to SVTB.1.8

Bugfixes

  • DVT-15260 SVTB 1.1.17, SVTB 1.1.18, SVTB 1.1.19 Failures not shown when previous line has multiple single line comments

  • DVT-15280 Unable load custom rulesets in Windows when the path contained more than one segment

20.1.28 (21 August 2020)

Enhancements

  • DVT-12099 Do not allow running verissimo.sh without passing -cmd

  • DVT-14416 Report rule parameter errors before linting

  • DVT-15216 Improve performance of rule XVM60

  • DVT-15224 Add flag to verissimo.sh to specify the manual checks status file

  • DVT-15233 Add pre-waiver support to CVED

  • DVT-15243 Add API to determine if a check is manual in Verissimo Custom Report

Bugfixes

  • DVT-15225 CVED doesn't report failure for covergroup event triggered outside of conditional block

20.1.27 (14 August 2020)

Features

  • DVT-11392 New Rule: XVM71 All TLM ports must be connected

  • DVT-13267 New Rule: XVM.3.1.4.8 Sequence items must override convert2string

  • DVT-14754 New Rule: SVTB.16.13 Do not declare embedded covergroup arrays

  • DVT-15162 New Rule: XVM.3.4.3 Sequence start method arguments

  • DVT-15165 New Rule: SVTB.27.20 Begin label format

Enhancements

  • DVT-13429 Show in Verissimo HTML report how many rules can be automatically corrected

  • DVT-14196 Update syntax for waivers created from the HTML report

  • DVT-15146 Add parameter to SVTB.27.10.1 to skip specified methods

  • DVT-15164 Add exit code for build config and compile errors for verissimo.sh

  • DVT-15166 Add API to access compare summary in Verissimo Custom Report

  • DVT-15171 Add parameter to XVM67 to skip checking in classes that extend from specified base classes

  • DVT-15193 Add severity value to the generated HTML ruleset document

  • DVT-15217 Add struct and union members to supported skipElements of SVTB.27.5.1

Bugfixes

  • DVT-14407 SVTB.5.11.2.3, SVTB.15.4.1.1 & XVM.4.21.1: No failures when temporary variable is used inside expression

  • DVT-15156 XVM.3.4.2 False failure for function call used as the first argument of the start() method

  • DVT-15187 SVTB.20.15 Should skip interface members of dynamic type

  • DVT-15197 SVTB.27.5.1 takes too long to cancel

  • DVT-15212 SVTB.5.1.2 reports fewer failures after reapplying the check

20.1.26 (30 July 2020)

Features

  • DVT-14267 New Rule: XVM.2.3.9 Do not use reg handles in scoreboards and monitors

  • DVT-15150 New Rule: SVTB.1.9 Files must end with a blank line

Enhancements

  • DVT-14794 XVM.9.2.9 should fail for missing `include "xvm_macros.svh" in files with elements that import the XVM package

Bugfixes

  • DVT-13576 SVTB.31.1.0 False failures for implementations of methods defined in parents of interface classes when skipImplementedMethods is true

  • DVT-13610 SVTB.31.1.0 should consider pure virtual methods just like virtual methods

  • DVT-14969 SVTB.1.5.1 False failures for empty blocks

  • DVT-15147 SVTB.27.10.1 False failures for anonymous coverpoints

  • DVT-15157 SVTB.11.3 False failures for randcase

  • DVT-15172 Verissimo throws exception when running on a project that contains whitespaces in its path

20.1.25 (24 July 2020)

Features

  • DVT-12146 New Rule: SVTB.14.10.24 Do not use signals referenced in an assertion action block without $sampled

  • DVT-14144 New Rule: SVTB.14.10.23 Use sampled value function on variables used in disable conditions of properties

  • DVT-14755 New Rule: XVM.2.1.1.2.1 Do not use factory registration macros for classes with protected or local constructor

  • DVT-14756 New Rule: SVTB.7.37 Specify default value for class parameters

  • DVT-14968 Ability to disable a check inside the ruleset using the "disable" attribute

Enhancements

  • DVT-12095 Ability to run only some rules from the input ruleset

  • DVT-14436 Verissimo compare HTML reports should return exit code dependent on the existence of new failures

Bugfixes

  • DVT-14973 When comparing two reports, line number changes are incorrectly computed if the white-space has changed

  • DVT-14985 SVTB.8.4.3 False failures for disable fork that is enclosed by protective fork-join block in loops

20.1.24 (17 July 2020)

Features

  • DVT-14377 New Rule: SVTB 1.5.3: { and } must be on the same line with their associated element

  • DVT-14791 New Rule: SVTB 15.9: Do not call functions that use class fields in constraints

Enhancements

  • DVT-14803 Add parameter to SVTB.20.15 to skip blocking assignments in combinational blocks

Bugfixes

  • DVT-14967 SVTB.15.7.1 False failures for super.new()

20.1.23 (8 July 2020)

Performance

  • DVT-14926 Improve performance of XVM61 and XVM62

Features

  • DVT-14757 New Rule: SVTB.10.21 Do not combine driver and output clockvar

  • DVT-14868 New Rule: SVTB.5.2.9 Do not use 4-state types

Enhancements

  • DVT-14800 Add parameter to SVTB.31.3.0 to allow empty begin end blocks

  • DVT-14802 Add parameter to SVTB.31.3.0, SVTB.31.3.1, SVTB.31.3.2 and SVTB.31.3.3 to check empty begin end blocks have comments

  • DVT-14941 Improve auto-correct for SVTB.15.7.1

20.1.22 (8 July 2020)

Enhancements

  • DVT-14806 Add parameter to ARBF, ARIN, ARMN and ARSAa to allow instantiation in specified base class

20.1.21 (2 July 2020)

Features

  • DVT-14376 New Rule: SVTB 1.4.4.1 End should be on the same line with what caused the end

  • DVT-14887 Add auto-correct for SVTB.15.7.1

Enhancements

  • DVT-14822 Do not print compile warnings in verissimo.sh output

  • DVT-14823 Do not print lint failures unless specified by verissimo.sh argument

  • DVT-14848 Add parameter to XVM.5.1.3.6 to configure the verbosity levels to be checked

  • DVT-14849 Add parameter to XVM.5.1.3.6 to check only inside loops

  • DVT-14886 Add PID and hostname to the startup information

Bugfixes

  • DVT-13340 SVTB.31.1.0 fails to flag unused elements when initialized

20.1.20 (26 June 2020)

Performance

  • DVT-14852 Improve performance for pre-waivers

Features

  • DVT-14265 New Rule: XVM.2.9.2.8 Do not modify received sequence items in the scoreboard

Enhancements

  • DVT-14796 Add support for specifying methods that should be skipped only when called from certain methods to skipMethods parameter of SVTB.15.7.1

Bugfixes

  • DVT-14748 SVTB.1.4.4 & SVTB.1.4.5 False failures for multiline blocks

20.1.19 (18 June 2020)

Enhancements

  • DVT-14780 Add parameter to SVTB.15.7.1 & SVTB.15.7.1.1 to skip checking XVM API calls

Bugfixes

  • DVT-14749 SVTB.29.1.8 should fail for $psprintf used as XVM macro argument

  • DVT-14782 "Compare" filter in the HTML report uses for filtering only the first selected entry

  • DVT-14783 While comparing two reports some common failures are reported as as new failures or new fixes

  • DVT-14784 "Compare" and "Report" filters in the HTML report are cleared at the same time

20.1.18 (17 June 2020)

Enhancements

  • DVT-14773 Add validation for *-filed attributes of annotation tags used in a ruleset

Bugfixes

  • DVT-14772 Failures are not showing up in non-compare HTML reports

20.1.17 (16 June 2020)

REMOVED

  • DVT-14762 Removed support for comparing two reports by specifying -compare for current and baseline together with a -info argument

Features

  • DVT-14707 Print failures summary when doing a report compare

Enhancements

  • DVT-13966 Enhance the failure presentation in compare reports

  • DVT-14760 Add parameter to SVTB.15.7.1, SVTB.15.7.1.1 & SVTB.15.7.2 to skip specified methods

  • DVT-14761 Added -compare_baseline and -compare_current arguments for comparing two reports

  • DVT-14763 By default show only new failures in compare reports

20.1.16 (12 June 2020)

Features

  • DVT-14737 Ability to filter failures by creation date in the HTML report

Enhancements

  • DVT-14679 Add parameter to SVTB.10.7.3 to allow ##0 in assertions

  • DVT-14706 Add predefined custom reports

Bugfixes

  • DVT-14750 NullPointerException in rules SVTB.12.2.8 & SVTB.12.2.9

20.1.15 (4 June 2020)

Features

  • DVT-14438 New Rule: SVTB.7.1.1.1 Field declaration order must match the order of field registration macros

  • DVT-14729 Annotate failures with the file's last modification date

Enhancements

  • DVT-14106 Ability to compare Verissimo HTML reports generated on projects with different locations

20.1.14 (28 May 2020)

Features

  • DVT-13302 Ability to include HTML code in rule descriptions by wrapping it between @html@...@html@ tags

  • DVT-13657 New Rule: SVTB.5.14 Matching types for enum variables used in equality operators

  • DVT-14304 New Rule: SVTB.31.3.0 Empty statement

Enhancements

  • DVT-14571 Ability to see list of files on which Verissimo rules have been applied

  • DVT-14714 Show an error when trying to merge, diff or compare a report that is already the result of a compare operation

20.1.12 (21 May 2020)

Features

  • DVT-14517 New Rule: XVM.9.2.9 Include xvm_macros.svh only in global scope

Bugfixes

  • DVT-14675 SVTB.7.1.1 False failures for covergroups with sample function

20.1.11 (15 May 2020)

Performance

  • DVT-14582 Improve performance of pre-waivers for SVTB.1.4.2

Features

  • DVT-13859 New Rule: SVTB 1.1.20 Spacing for typedefs and declarations

  • DVT-14242 New Rule: SVTB 1.1.21 Single line comment spacing

  • DVT-14243 New Rule: SVTB 1.1.22 Include guards formatting

Enhancements

  • DVT-13619 Show warning when using an unresolved environment variable in compile waivers, Verissimo waivers and ruleset files

  • DVT-14381 SVTB.12.9 should fail for non-ANSI style methods without arguments

  • DVT-14507 Add parameter to SVTB.5.11.3 to skip checking of bit-stream casting of packed types

  • DVT-14591 Add nets to supported skipElements for SVTB.27.5.1

Bugfixes

  • DVT-14099 StackOverflowError in XVM51b

20.1.10 (11 May 2020)

Bugfixes

  • DVT-14518 SVTB.15.4.1.1 Auto-correct works only when allowTempVariableChecking is true

  • DVT-14550 XVM30b false failures for inherited virtual interfaces

  • DVT-14597 SVTB.16.1.3 False failures for n:n bit selects

  • DVT-14606 SVTB.12.4 Wrong auto-correct for method call used as macro argument

  • DVT-14612 SVTB.7.13 Wrong auto-correct for methods defined inside macros

20.1.9 (30 April 2020)

Features

  • DVT-14305 New Rule: SVTB.12.11 One argument per line

  • DVT-14356 New Rule: SVTB.7.1.4.4 Declared method order must match implementation order

  • DVT-14506 New Rule: SVTB.27.19 Type naming pattern

Enhancements

  • DVT-12471 Add "allowVariableWithTypeName" parameter to SVTB.27.10.1

  • DVT-14352 Add parameter to XVM Base Classes rules to specify base class

  • DVT-14486 Add parameter to SVTB.27.5.1 to skip certain name patterns

  • DVT-14524 Add pre-waiver support to SVTB.1.1.10, SVTB.1.4.2, SVTB.27.5.5

Bugfixes

  • DVT-14444 SVTB.8.4.3 Should fail for disable fork used inside loops

  • DVT-14549 NullPointerException in rules XVM2, XVM.2.1.1.1, XVM.2.4.4 and XVM.3.1.3

20.1.8 (16 April 2020)

Features

  • DVT-13856 New Rule: SVTB 1.1.17 Member declaration spacing

  • DVT-13860 New Rule: SVTB 1.1.19 No spacing between closing/opening parentheses

  • DVT-14241 New Rule: SVTB 1.1.18 Keywords spacing

  • DVT-14249 New Rule: SVTB.27.18 Assertion naming pattern

  • DVT-14464 New Rule: XVM.2.2.3.1 Driver should not have analysis port

  • DVT-14469 New Rule: XVM.3.1.4.7 Sequence tasks must be protected or local

Enhancements

  • DVT-14447 Add parameters to SVTB.7.36 to skip fields of a specified type and to skip fields that inherit from specified classes

  • DVT-14482 Add parameter to SVTB.12.3.8 to skip scalar ref arguments

  • DVT-14497 Add pre-waiver support to SVTB.33.1.0, SVTB.33.2.0 and SVTB.33.3.0

Bugfixes

  • DVT-14446 SVTB.7.36 False failures for overridden methods

20.1.7 (10 April 2020)

Features

  • DVT-14386 New Rule: SVTB.8.4.10 Do not use disable fork if it is not enclosed by a protective fork-join block

  • DVT-14387 New Rule: SVTB.8.4.11 Do not use wait fork if it is not enclosed by a protective fork-join block

Enhancements

  • DVT-14353 Add ports to supported skipElements for SVTB.27.5.1

  • DVT-14375 Add parameter to SVTB.1.4.4 to check begin-end blocks in fork blocks

  • DVT-14448 Add parameter to XVM.2.1.8 and XVM.2.1.9 to allow specified uvm_root API calls only in specified classes

  • DVT-14457 Add parameter to SVTB.19.3.2 to only flag elements in which time calls are used

Bugfixes

  • DVT-14445 SVTB.6.11 should give failures for parameterized types used as parameters of parameterized types

20.1.6 (2 April 2020)

Features

  • DVT-14336 New Rule: XVM.3.8 Check starting_phase before calling or raising an objection

  • DVT-14380 New Rule: SVTB.27.17 Variable naming pattern

  • DVT-14440 New Rule: XVM.2.1.1.6 Factory registration macros for objects

Enhancements

  • DVT-14254 Add parameter to XVM.5.1.5 to allow only get_name or get_full_name

  • DVT-14344 Add ignoreIdentifiers parameter to SVTB.33.1.0 and SVTB.33.2.0

  • DVT-14354 Add parameter to SVTB.32.1.0 and SVTB.32.2.0 to skip checking tasks

  • DVT-14355 Add parameter to SVTB.27.14 to specify the minimum number of characters for loop variables

  • DVT-14474 Add parameter to XVM.2.1.1.1.0 to check the parameter arguments of the parametrized class used as macro argument

Bugfixes

  • DVT-14389 SVTB.16.1.3 False failures for single bit selects

20.1.5 (27 March 2020)

Features

  • DVT-14259 New Rule: XVM.2.1.18 Drivers, monitors and scoreboards should not contain handles to drivers, monitors or scoreboards

  • DVT-14260 New Rule: XVM.2.2.11 Driver should only have a handle to one interface and sequencer

  • DVT-14379 New Rule: SVTB.12.3.8 Do not use inout or output scalar arguments

Enhancements

  • DVT-14118 Add parameter to SVTB.1.4.1 and SVTB.1.5 to allow same line only for certain keywords

  • DVT-14121 Add parameter to SVTB.1.4.1 and SVTB.1.5 to check next line is empty when allowSameLine is true

  • DVT-14383 Add parameters to SVTB.6.1.2.2 to check only 2-state/4 state mixing and to check only signed/unsigned mixing

Bugfixes

  • DVT-13806 SVTB.10.7.3.0 shows wrong error message for delays with non-numeric delay values

20.1.4 (20 March 2020)

Performance

  • DVT-14210 Improve performance for SVTB.8.4.3

Features

  • DVT-14253 New Rule: XVM.2.9.2.7 Do not declare tasks and virtual interfaces in scoreboards

  • DVT-14255 New Rule: SVTB.5.11.2.3 Check $cast calls

  • DVT-14256 & DVT-14257 New Rule: SVTB.14.11 Do not use assertions in scopes

  • DVT-14264 New Rule: XVM.2.8.9 Raise and drop objections in tests

  • DVT-14266 New Rule: XVM.4.21.1 Check uvm_config_db(T)::get calls

  • DVT-14314 New Rule: SVTB.32.1.1 Pass arrays as reference instead of having arrays as method return type

  • DVT-14333 New Rule: SVTB.7.36 Members of classes must be protected or local

Enhancements

  • DVT-14190 Show an error when using non-existent parameters in the ruleset

  • DVT-14258 Add 'assert', 'assume', 'cover', 'expect', 'restrict' to supported elementKinds for SVTB.7.34

  • DVT-14388 Add parameter to SVTB.7.34 to check covergroup instantiations

Bugfixes

  • DVT-14170 False failures in all XVM Base Classes rules due to unresolved type parameters

  • DVT-14370 SEMANTIC_PROBLEM False SIGNAL_NEVER_WRITTEN failure for loop variable defined in the enclosing module

20.1.3 (9 March 2020)

Features

  • DVT-14306 New Rule: SVTB.6.3.3 Do not declare statically sized arrays with up-to / down-to syntax

  • DVT-14308 New Rule: SVTB.16.9.3 Sample covergroups using sample() or @event

  • DVT-14316 New Rule: SVTB.10.13.2 Do not use release statements

  • DVT-14317 New Rule: SVTB.7.13.4 Do not override non-virtual methods

Enhancements

  • DVT-14230 Add parameter to XVM.2.1.8 and XVM.2.1.9 to allow certain uvm_root API calls

  • DVT-14303 Add parameter to SVTB.13.3 to allow mailboxes used in modules

Bugfixes

  • DVT-14221 XVM.10.1 and XVM.10.2 False failures for deprecated API

  • DVT-14339 SVTB.7.14.0 Wrong auto-correct for functions with extern declaration

20.1.2 (28 February 2020)

Features

  • DVT-14248 New Rule: SVTB.28.2 Variables should be declared only in specified scopes

  • DVT-14279 New Rule: SVTB.7.25.1 Override specified method from parent class

Enhancements

  • DVT-14280 Add "Common" filter to Verissimo HTML compare report

Bugfixes

  • DVT-14068 XVM51 False failures for components parameterized with virtual interfaces

  • DVT-14189 SVTB.10.7.3.0 False failures in assertions

  • DVT-14297 Failures in uvm.sv are not always filtered out

20.1.1 (21 February 2020)

HIGHLIGHTS

Note: Some of the highlights below were rolled-out in 19.1.# hotfix releases for early adopters.

Performance

  • DVT-14208 Improve performance for SVTB.1.1.16

Features

  • DVT-14116 New Rule: SVTB.27.6.3 Unique enum item names

  • DVT-14186 New Rule: SVTB.8.4.9 Do not use 'disable fork'

  • DVT-14187 Add parameter to SVTB.1.4.5 to check that 'begin' is placed on the same line or the next line consistently for the same expression

  • DVT-14224 Add parameter to SVTB.1.4.2 to allow multiple declarations on the same line in specified scope

  • DVT-14250 New Rule: SVTB.1.8 Files must contain only ASCII characters

  • DVT-14251 New Rule: SVTB.2.19 Add header typedefs for files with multiple classes

  • DVT-14252 New Rule: XVM.3.7 Banned 4-state variables in sequence items

Bugfixes

  • DVT-14209 Update description of SVTB.2.7, SVTB.2.8 and SVTB.2.9

  • DVT-14283 NullPointerException in XVM.2.1.4.3

19.1.50 (7 February 2020)

Features

  • DVT-14192 New Rule: SVTB.25.13 Do not use multiline comments

  • DVT-14206 New Rule: SVTB.2.18 Directory and file name pattern

Enhancements

  • DVT-14171 Add skipMethodsPatterns parameter to SVTB.12.5

19.1.49 (5 February 2020)

Bugfixes

  • DVT-14198 Fixed StringIndexOutOfBoundsException in SVTB.1.1.10

19.1.48 (29 January 2020)

Performance

  • DVT-14158 Improve performance of rules SVTB.29.1.0, SVTB.29.1.7, SVTB.29.1.8, SVTB.29.1.9, SVTB.30.1.0 and XVM.10.2

Features

  • DVT-13634 New Rule: SVTB.1.7 Use specified tokens for vertical alignment

  • DVT-13848 New Rule: SVTB.1.1.16 Named port connections indentation

  • DVT-13861 New Rule: SVTB.27.15 Queue variables suffix

  • DVT-13862 New Rule: SVTB.27.16 Class handles suffix

  • DVT-14096 New Rule: SVTB.6.11 Bind parameters by name when using parameterized types

Enhancements

  • DVT-14146 Update JRE in distro to Amazon Corretto 8u242

  • DVT-14154 SVTB.5.2.7 When parameter useIsUnknownGuard is true all assignments should be checked

  • DVT-14157 Ignore DVT_LICENSE_FILE containing multiple hard-wired "FLEXLM" strings

19.1.47 (10 January 2020)

Bugfixes

  • DVT-14052 SVTB.10.20 False failures for negative width format specifiers

  • DVT-14107 SVTB.15.7.1 False failures for arrays

  • DVT-14122 Verissimo should not check the existence of DTD files specified in lint waivers

  • DVT-14124 XVM30a False failures for agents inheriting from parametrized classes

19.1.46 (6 January 2020)

Bugfixes

  • DVT-14108 Some failures appears as both "New Failures" and "New Fixes" when comparing Verissimo HTML reports

19.1.44 (20 December 2019)

Performance

  • DVT-14102 Improve memory footprint of XVM.3.6

Features

  • DVT-13849 New Rule: SVTB.1.5.2 Single line statement following an 'if' should be on the same line or immediately on the next line with increased indentation

Enhancements

  • DVT-14104 Linter API: Add IInstanceContainer.getInstances() to get instances from modules and interfaces

Bugfixes

  • DVT-14064 XVM.5.1.5 False failures for OVM report macros

  • DVT-14098 Fixed NullPointerException in SVTB.10.19

19.1.43 (11 December 2019)

Bugfixes

  • DVT-14077 Fixed XVM.2.1.4.4.1 performance regression

19.1.42 (6 December 2019)

Enhancements

  • DVT-14038 Add allowAdditionalStatements parameter to XVM64, XVM.2.1.4.1 and XVM.3.1.4.1

  • DVT-14065 Add parameter to SVTB.32.1.0 and SVTB.32.2.0 to skip arguments with default values

Bugfixes

  • DVT-13964 XVM30a should allow agents with inherited connect_phase() methods

  • DVT-14030 SVTB.1.1.10 False failures for when literal strings used as macro arguments contain operators

  • DVT-14053 SVTB.4.1.6.1 False failures for concatenation of typedef queues

  • DVT-14056 SVTB.32.1.0 False failures for DPI methods

  • DVT-14060 StringIndexOutOfBoundsException in SVTB.1.1.10 auto-correct

  • DVT-14061 Re-applying check SVTB.1.1.10 doesn't take into account file changes

19.1.41 (28 November 2019)

Features

  • DVT-13878 New Rule: SVTB.10.20 Do not use formatting methods if no formatting is done in them

  • DVT-13955 Add auto-correct for SVTB.1.1.10

  • DVT-13956 Add auto-correct for SVTB.1.1.11

Enhancements

  • DVT-13764 Add strictFirstDefinition parameter to SVTB.7.13.2 to allow having non-virtual definition with different signature

  • DVT-13917 Add allowAsDefaultValue parameter to SVTB.4.1.6.1 to allow empty concatenation as default value for method arguments

  • DVT-13881 Allow defined typedefs as value for looselyCastToBooleanTypes parameter in SVTB.10.6.1.0

  • DVT-13883 Add skipBaseClassPatterns and skipClassPatterns parameters to SVTB.29.1.0

  • DVT-14021 Improved auto-correct for SVTB.2.12

Bugfixes

  • DVT-13870 SVTB.11.4 False failures for default case item with action block

  • DVT-13871 SVTB.12.2.9 False failures when modifying implicit return value

  • DVT-13877 SVTB.32.2.0 False failures for DPI functions

  • DVT-13951 Fixed NullPointerException in SVTB.15.3.4.1

  • DVT-13952 Fixed NullPointerException in SVTB.20.16

  • DVT-13960 Windows verissimo.bat script expects DVT_LICENSE_FILE to be FLEXLM when using FlexLM license servers

  • DVT-13963 XVM.2.2.3 False failures for inherited analysis ports

  • DVT-13976 XVM15c False failures when call hierarchy goes through parameterized classes

  • DVT-13978 SVTB.16.1.3 False failures for coverpoints with options at the end

  • DVT-14019 SVTB.6.7.4 False failures for concatenation of typedef queues

19.1.40 (12 November 2019)

Performance

  • DVT-13943 Improve memory footprint

Bugfixes

  • DVT-13869 SVTB.7.30 False failures for interface classes

  • DVT-13876 SVTB.7.20 False failures for static method variables

19.1.39 (7 November 2019)

Bugfixes

  • DVT-13879 Fixed NullPointerException in XVM51b

  • DVT-13898 Fixed NullPointerException in SVTB.5.13

19.1.38 (31 October 2019)

Performance

  • DVT-13880 Improve memory footprint

19.1.37 (25 October 2019)

Enhancements

  • DVT-13249 Add parameter skipLeafComponents to XVM.2.1.4.3

  • DVT-13546 Add parameter skipMethodsWithForceStatement to SVTB.12.1.2

Bugfixes

  • DVT-13851 Add support to SVTB.5.13 for all comparison operators

19.1.36 (21 October 2019)

Bugfixes

  • DVT-13829 Build config errors can't be waived using the message prefix

19.1.35 (18 October 2019)

Features

  • DVT-13804 New Rule: SVTB.5.13 Do not use enum.name() in comparisons

  • DVT-13805 New Rule: SVTB.5.12.1 Do not use untyped parameters

19.1.34 (11 October 2019)

Enhancements

  • DVT-13761 Add parameter to XVM68 to allow using the default printer (uvm_pkg::uvm_default_printer) when it is set with a uvm_tree_printer instance.

  • DVT-13762 Add parameter to XVM.5.1.3.9 to allow any assignment to the string variable used as macro argument

19.1.33 (4 October 2019)

Bugfixes

  • DVT-13763 XVM.2.1.4.4.1 False failures when calling super.run_phase that contains a forever loop

19.1.32 (20 September 2019)

Bugfixes

  • DVT-13748 SVTB.2.1.4.2.7 stops after prewaiving one path

19.1.30 (29 August 2019)

Enhancements

  • DVT-13672 Add pre-waiver support to XVM61 and XVM62

  • DVT-13676 Support allowedClassPatterns and allowedClassNames at the same time for XVM.7.1 and XVM.7.2

Bugfixes

  • DVT-13668 False EXTEND_PARAMETER semantic error when instantiating a parameterized class

19.1.29 (20 August 2019)

Bugfixes

  • DVT-13661 IndexOutOfBoundsException when computing a compare report from reports without any annotations

19.1.28 (14 August 2019)

Performance

  • DVT-13625 Performance degradation for some of the rules analyzing method calls

Features

  • DVT-4196 Ability to start in GUI mode (DVT) using verissimo.sh -gui

  • DVT-13646 Ability to compare two HTML reports

Enhancements

  • DVT-13296 Ability to specify comma in comma separated list parameter values using double comma

  • DVT-13609 Add parameters to SVTB.1.1.2.0 to skip lines with prefix or lines following other lines with suffix

  • DVT-13649 Comparing lint failures while doing report diff or compare should take into account line number changes between the two reports

19.1.27 (2 August 2019)

Enhancements

  • DVT-11250 & DVT-12413 Report XML errors for compile waivers, lint waivers and ruleset files

Bugfixes

  • DVT-13588 XVM.3.6 False failures when randomize is inside foreach or begin-end blocks

19.1.26 (26 July 2019)

Enhancements

  • DVT-13566 Ability to see to how many problems a compile waiver was applied using the -print_compile_waivers_info argument

Bugfixes

  • DVT-13570 XVM.3.6 False failures inside extern methods implementation

19.1.25 (19 July 2019)

Features

  • DVT-11886 Add auto-correct for SVTB.15.4.1.1

  • DVT-13269 New Rule: XVM.5.1.6 Do not use `xvm_fatal during build phase

  • DVT-13417 Add auto-correct for SVTB.1.1.5, SVTB.2.12, SVTB.12.4, XVM.7.3.4, SVTB.25.10

Bugfixes

  • DVT-13306 SVTB.31.1.0 False failures for arguments of implemented methods when skipImplementedMethods is true

  • DVT-13307 SVTB.31.1.0 False failures for arguments of pure virtual methods

  • DVT-13556 XVM.3.6 False failures inside forever loops

  • DVT-13558 XVM.2.1.4.1 False failures when parent constructor arguments are not named correctly

19.1.24 (11 July 2019)

Enhancements

  • DVT-12454 Ability to use relative paths to current file inside <include/> tags of waivers.xml and ruleset.xml

19.1.23 (4 July 2019)

Features

  • DVT-13437 New Rule: SVTB.29.8 Banned randcase

  • DVT-13438 New Rule: SVTB.29.9 Banned randsequence

  • DVT-13455 New Rule: SVTB.4.1.4.1.3 Do not specify time units for delays

19.1.22 (1 July 2019)

Bugfixes

  • DVT-13456 SVTB.12.5 False failures for method calls not exceeding the number of passed arguments

  • DVT-13468 XVM.3.6 NullPointerException thrown when analyzing empty action blocks

19.1.21 (21 June 2019)

Enhancements

  • DVT-13244 Add parameters to XVM.2.1.8 and XVM.2.1.9 to skip checking in certain methods

  • DVT-13435 Ability to use multiple -gen_custom_report arguments in a single invocation

  • DVT-13440 Add bannedMethodsPatterns parameter to SVTB.29.1.0

Bugfixes

  • DVT-13316 SVTB.16.1.5 False hits when using select in coverpoint definition of a field whose datatype is a type alias

  • DVT-13334 XVM64 False hits for uvm_reg children classes

  • DVT-13335 XVM64 False hits when calling super.new() using named arguments

19.1.20 (7 June 2019)

Features

  • DVT-8551 Ability to diff two HTML reports

  • DVT-13039 Ability to report new errors compared with baseline

Enhancements

  • DVT-13246 Add parameter to DCDC to specify documentation directory

  • DVT-13247 Add parameter to DCDC to specify documentation extension

Bugfixes

  • DVT-13265 SVTB.12.5 False hits for randomize() method

  • DVT-13273 XVM.3.6 Should fail when randomize() is not called on every possible execution path before start()

  • DVT-13399 Using -info "type=value" does not set annotation value if type already exists in report

19.1.18 (31 May 2019)

Features

  • DVT-6910 Auto-correct for linting failures

  • DVT-10202 Annotate failures with perforce blame information

  • DVT-11891 Add auto-correct for SVTB.1.1.1, SVTB.1.1.8, SVTB.1.1.14, SVTB.1.1.15, SVTB.5.11.2.1, SVTB.7.1.2, SVTB.7.1.2.1, SVTB.7.13, SVTB.7.14.0, SVTB.7.26, SVTB.10.7.3, SVTB.11.2.2.3, SVTB.12.1.2, SVTB.15.5.1, SVTB.27.3.1, SVTB.27.5.1, SVTB.27.6.1, SVTB.27.8.1, SVTB.27.9.1, SVTB.31.2.0, SVTB.31.3.2, SVTB.31.3.3, XVM.2.2.1

  • DVT-13239 Ability to specify pre-waivers for each rule in the ruleset

Enhancements

  • DVT-13321 Add pre-waiver support to XVM51b

  • DVT-13339 Add pre-waiver support to SVTB.2.1, SVTB.2.3, SVTB.2.6, SVTB.5.1.1, XVM.5.1.1

19.1.17 (16 May 2019)

Features

  • DVT-10728 Ability to pre-waive files containing only modules, interfaces and packages

  • DVT-13241 New rule: SVTB.11.4 Default case item must not be empty

Enhancements

  • DVT-13007 SVTB.10.19 should fail only for 'd or 0d prefixes when using noDecimalPrefix

  • DVT-13245 Add parameter to XVM52 to allow new allocation in specified classes

  • DVT-13248 SVTB.1.1.2.0 Detect for each file the number of spaces used for indentation when nofSpaces parameter is 0

  • DVT-13309 Add pre-waiver support to SVTB.1.1.1, SVTB.1.1.2, SVTB.1.1.2.0, SVTB.1.1.3, SVTB.1.1.4, SVTB.1.1.5, SVTB.1.1.6, SVTB.1.1.7, SVTB.1.1.8, SVTB.1.2, SVTB.2.12, SVTB.2.12.1, SVTB.2.16, SVTB.25.9, SVTB.25.12

19.1.15 (9 May 2019)

Features

  • DVT-13255 New rule: XVM.5.1.2.3 Legal message IDs

Enhancements

  • DVT-13240 Add parameter to SVTB.11.3 to allow missing default case item for fully specified enum case statements

  • DVT-13242 Add parameter to SVTB.12.2.10 to allow certain functions

  • DVT-13254 Add parameter to SVTB.1.1.4 to allow long lines caused by linter waiver pragmas

Bugfixes

  • DVT-1444 Node locked license doesn't work when the bound network interface is down (fix for Linux)

  • DVT-13287 Fixed the support for directory license sources to scan for license files (*.lic)

19.1.14 (6 May 2019)

Bugfixes

  • DVT-13275 Scripts warn about "unset GTK_IM_MODULE=1 not a valid identifier"

19.1.13 (25 April 2019)

Enhancements

  • DVT-13102 Add parameter to XVM.2.1.1.3 to check that fields with parametrizable types are registered using the macros corresponding to the default value of the parameter

  • DVT-13235 SVTB.10.19 Add 'x' and 'X' as allowed radixes for hexadecimals

Bugfixes

  • DVT-13236 SVTB.6.10 False failures when array is declared inside an action block and skipMethodScopedElements is true

  • DVT-13237 SVTB.6.10 False failures on class type parameters

  • DVT-13256 SVTB.6.10 Failures should be reported on the method implementation instead of extern declaration

19.1.12 (19 April 2019)

Features

  • DVT-10220 Ability to show available rules added since a specified date

  • DVT-12975 Ability to include in a ruleset all new rules since a specified date

Enhancements

  • DVT-12893 Add parameter to SVTB.31.1.0 to skip checking methods that subclasses must implement

  • DVT-13170 Add parameter allowMultipleSpaces to SVTB.1.1.10 to allow one or more spaces around binary operators

Bugfixes

  • DVT-12438 SVTB.31.1.0 False hits for pure virtual functions

  • DVT-13166 SVTB.25.4.0, SVTB.25.4.1, SVTB.25.6.6.0, SVTB.25.6.6 False failures for inline comments on elements declared above a macro call

  • DVT-13181 SVTB.12.1.2, SVTB.12.2.8, SVTB.12.2.9, SVTB.27.13 False failures on let constructs

  • DVT-13222 Waiver path simple patterns are treated as regular expressions in waiver files with versions 1-3

  • DVT-13257 Fixed sporadic JVM crashes appearing when files were changed while being parsed

19.1.10 (11 April 2019)

Performance

  • DVT-13185 Improve performance of rule XVM.5.2.1.2

Enhancements

  • DVT-13167 Add parameter skipElements to SVTB.27.3.1 to skip certain element kinds

  • DVT-13168 Add parameter skipMethodScopedElements to SVTB.6.10 to skip checking queues and arrays declared in methods

  • DVT-13177 Add parameter allowNoTickBeforeRadix to SVTB.10.19 to allow radix specification without a tick

Bugfixes

  • DVT-13169 XVM.4.23 False failures when brackets are used with globbing

  • DVT-13176 SVTB.1.1.12 False failures when specifying the index type of an associative array

19.1.9 (5 April 2019)

Features

  • DVT-13172 New Rule: SVTB.19.4 Do not access specific module instances or signals

Enhancements

  • DVT-12874 Add regex support to waivers and pre-waivers paths

  • DVT-13143 Add parameter to SVTB.20.16 to allow struct ports

19.1.8 (28 March 2019)

Performance

  • DVT-13103 Improve performance of rule XVM.5.1.4

19.1.6 (22 March 2019)

Performance

  • DVT-13097 Improve performance of rules XVM61 and XVM62

Enhancements

  • DVT-12453 Add support for variables set via +dvt_setenv in lint waivers paths and <include/> tags and ruleset <include/> tags

  • DVT-13019 Add parameter reportClassesUsedOnlyInFactoryRegistration to SVTB.31.1.0

19.1.5 (14 March 2019)

Bugfixes

  • DVT-12977 SVTB.1.1.4 should ignore comments containing @DVT_LINTER_WAIVER pragmas

  • DVT-13008 XVM.3.6 fails when randomize call is not in the same scope

  • DVT-13017 Effort estimation information is missing from failures table and summary page

19.1.4 (8 March 2019)

Enhancements

  • DVT-12659 Add parameter to NON_STANDARD pseudo-check to include or exclude non-standard checks by ID

  • DVT-12841 Add parameter to SVTB.1.5 to skip checking inside macros

Bugfixes

  • DVT-12839 SVTB.31.1.0 should flag a class that is only used by itself

19.1.2 (28 February 2019)

Enhancements

  • DVT-12824 SVTB.10.19 Add noDecimalPrefix parameter to disallow decimal prefix

  • DVT-12921 Add member type to the error message of SVTB.27.3.0

Bugfixes

  • DVT-12823 SVTB.1.1.12 False failures for array of parameterized type instances

  • DVT-12837 SVTB.10.19 should check only $sformatf calls whose results are used by the other checked methods or by UVM report macros

  • DVT-12919 SVTB.27.3.0 False failures for class members with name length equal with the parameter nameMinLength

19.1.1 (22 February 2019)

Starting with the 19.1.1 major release our products are no longer compatible with old FlexLM license servers (<11.14).

HIGHLIGHTS

Note: Some of the highlights below were rolled-out in 18.1.# hotfix releases for early adopters.

  • 50+ new rules

  • Ability to tag failures and to filter them by tag

  • Ability to merge custom reports

  • Ability to use pre-lint waivers that will prevent linting a specified set of files

  • Improved HTML Report load and search performance

  • Improved performance of commonly used rules

REMOVED

  • DVT-3913 Removed support for DVT specific file licenses, migrated to FlexLM file licenses

  • DVT-12877 Removed support for FlexLM tools and daemon versions <11.14

Features

  • DVT-1635 & DVT-11643 Ability to use pre-lint waivers that will prevent linting in a specified set of files

  • DVT-6546 Queue on the license server when all licenses are in use (removed -lic_queue flag that was emulating this behavior)

Enhancements

  • DVT-2497 Ability to use DVT_LICENSE_FILE environment variable for FlexLM licenses

  • DVT-12833 SVTB.27.5.1 should also check class/struct/interface fields

Bugfixes

  • DVT-12832 SVTB.27.5.1 should skip end block names for the specified element kinds

  • DVT-12876 Exception thrown when reapplying XVM.2.1.17, XVM.5.1.2, XVM.5.1.3.7, XVM.5.1.3.9, XVM30c, XVM51b, SVTB.9.10

18.1.48 (18 February 2019)

Bugfixes

  • DVT-12859 Fixed sporadic JVM crashes due to compilation optimizations

18.1.45 (13 February 2019)

Enhancements

  • DVT-11885 Enhance SVTB.16.7.5 description with an example on how to disable coverage using iff instead of setting weight 0 outside the cover group

  • DVT-12830 Add parameter to SVTB.7.24 to specify methods in which direct access of local members is allowed

Bugfixes

  • DVT-12811 Checks disabled by waivers should be re-enabled when other waivers might re-enable their failures

18.1.44 (4 February 2019)

Enhancements

  • DVT-12792 Add parameter to SVTB.7.35 to skip covergroups

18.1.43 (1 February 2019)

Features

  • DVT-12681 New Rule: SVTB.10.19 Specify display radix for binary, decimal, octal and hex values

Enhancements

  • DVT-10658 Add property, assert, cover property, assume property and sequence to supported element kinds for rule SVTB.27.1.0

  • DVT-12603 Add property and sequence to supported skipped element kinds for rule SVTB.27.5.1

  • DVT-12737 Add parameter to SVTB.20.16 to allow modports

  • DVT-12739 Add parameter to SVTB.12.3.7 to check only data type, only direction or both

Bugfixes

  • DVT-12764 SVTB.27.1.0 typedef suffix rule should skip forward declarations

  • DVT-12785 SVTB.1.1.12 False hits in files containing multibyte characters

18.1.42 (15 January 2019)

Features

  • DVT-12070 New Rule: SVTB.8.4.3 Do not use disable fork after more than one fork-join in the same process

  • DVT-12673 New Rule: SVTB.7.35 Class access to signals must be done through clocking blocks

  • DVT-12683 New Rule: XVM.4.27 Do not use whitespaces for instance name or field name parameters when setting or getting configuration properties

Enhancements

  • DVT-12743 Use default.build defined environment variables in SVTB.2.10, SVTB.2.14 and XVM.5.1.2

Bugfixes

  • DVT-12600 CHCAb should look for disable iff in properties declared outside the assertion

  • DVT-12690 NullPointerException in SVTB.25.4.0, SVTB.25.4.1, SVTB.27.1.0

  • DVT-12735 SVTB.7.1.1 False hits for registered enum variables

18.1.41 (13 December 2018)

Performance

  • DVT-12707 Improve HTML Report load time and memory consumption

18.1.41 (13 December 2018)

Performance

  • DVT-12701 Improve HTML Report load and search performance

Features

  • DVT-235 Ability to set session and check timeout values

  • DVT-12464 New Rule: SVTB.11.3 Case statements must have a default case item

18.1.40 (7 December 2018)

Enhancements

  • DVT-7536 Add parameter to SVTB.7.1.1 to allow changing the order of checked elements

  • DVT-9465 Add parameters to SVTB.7.1.1 to check for registered variables, regular variables and factory registration macros

  • DVT-12650 Add parameter to XVM51b to select the check implementation top-down or bottom-up

18.1.39 (29 November 2018)

Features

  • DVT-12490 New Rule: SVTB.11.2.2.3 Prefer foreach loops instead of C-style for-loops when iterating over arrays

  • DVT-12526 New Rule: XVM70 Always pass a string as a description argument when calling raise_objection() or drop_objection()

  • DVT-12540 New Rule: SVTB.12.2.10 Do not cast to void function calls that return a value

Enhancements

  • DVT-12557 Add parameter to SVTB.27.5.3 to skip protected an local API

  • DVT-12582 XVM.5.1.5 should also accept module hierarchical names as first argument

18.1.37 (15 November 2018)

Performance

  • DVT-12424 Improve performance of rule SVTB.30.1.0

  • DVT-12425 Improve performance of rule SVTB.9.10

Features

  • DVT-12331 New Rule: XVM.5.1.5 First argument of XVM report macros must contain an object's name, full name or type name

  • DVT-12376 New Rule: XVM.2.6.3 Agents should contain a monitor, driver, sequencer and configuration object

Enhancements

  • DVT-12417 Add parameter to SVTB.27.14 to skip parameters of overriding methods

Bugfixes

  • DVT-12564 SVTB.5.11.1 False hits when casting function call return value

18.1.36 (9 November 2018)

Bugfixes

  • DVT-6435 SVTB.4.1.6.1 false hits when assigning an array item from a concatenation

  • DVT-12298 SVTB.6.7.4 should fail for enum items concatenation

  • DVT-12431 SVTB.4.1.6.1 false hits when concatenating multiple arrays

  • DVT-12432 SVTB.6.7.4 false hits for assignment patterns

  • DVT-12488 Add parameter to SVTB.6.10 to skip function parameters

  • DVT-12506 SVTB.12.4 False hits on disable statements and randsequence production identifiers

  • DVT-12507 SVTB.25.12 should check all comments not just those associated with declarations

  • DVT-12516 SVTB.12.4 False hits for super.function()

  • DVT-12529 SVTB 2.17 Fixed typo in the default value of filePatterns parameter

18.1.35 (2 November 2018)

Features

  • DVT-12329 New Rule: SVTB.2.17 Do not use directives in files containing elements

  • DVT-12353 New Rule: XVM69 XVM object constructor argument must have an empty string as default value

  • DVT-12373 New Rule: SVTB.25.12 Task tags comment pattern

Enhancements

  • DVT-12399 Add lint, compilation runtime and license wait time to custom reports API

Bugfixes

  • DVT-12388 Exception when running SVTB.27.3.2, SVTB.29.3.0 and XVM.5.1.2 with default generated parameters

18.1.34 (25 October 2018)

Performance

  • DVT-12302 Improve performance of rule SVTB.12.4

Features

  • DVT-12210 Ability to create a waiver from the HTML report

Bugfixes

  • DVT-12280 SVTB.12.4 doesn't fail when the method call is inside a macro argument

18.1.33 (18 October 2018)

Performance

  • DVT-12303 Improve performance of rules SVTB.29.1.4.1, SVTB.29.1.4.2, SVTB.29.1.5.1 and SVTB.29.1.6.1

Features

  • DVT-12285 New Rule: SVTB.1.1.14 Consecutive blank lines are not allowed

  • DVT-12286 New Rule: SVTB.1.1.15 Lines with only whitespaces are not allowed

  • DVT-12337 New Rule: XVM.7.6 Do not use XVM field macros in XVM components

  • DVT-12375 New Rule: XVM.3.6 Randomize sequence before starting it

Bugfixes

  • DVT-12392 SVTB.15.4.1.1 False hits inside randsequence

18.1.32 (12 October 2018)

Performance

  • DVT-12304 Improve performance of rules SVTB.7.12.3 and SVTB.7.12.3.1

Features

  • DVT-12273 New Rule: SVTB.27.14 Do not use short variable names

  • DVT-12328 New Rule: XVM.3.5 Do not declare tasks in sequence items

  • DVT-12351 New Rule: SVTB.7.34 Do not declare element in classes

Enhancements

  • DVT-12364 Add parameter to SVTB.2.2 to check only included files, top files or both

  • DVT-12394 SVTB.27.5.2 should search variables in all scopes

Bugfixes

  • DVT-12366 NullPointerException in SVTB.25.4.1

18.1.31 (2 October 2018)

Performance

  • DVT-12301 Improve performance of rule SVTB.10.17

  • DVT-12305 Improve performance of rule SVTB.7.27

Bugfixes

  • DVT-12339 FileNotFoundException in SVTB.1.1.11

  • DVT-12340 NullPointerException in XVM.2.1.4.2.7 and XVM.3.1.9.1

  • DVT-12341 ClassCastException in rule SVTB.15.3.4.1

18.1.30 (25 September 2018)

Features

  • DVT-12176 New Rule: XVM.7.5 Do not use XVM reporting macros inside final blocks

  • DVT-12281 New Rule: SVTB.25.4.1 Element comment style

Enhancements

  • DVT-12277 SVTB.25.4.0 Change elementKind parameter to comma separated list

  • DVT-12290 Add complete_rule_info and parameters_info attributes to -rulepool_xml_include flag

Bugfixes

  • DVT-12031 XVM.7.3 doesn't check macros used outside of classes

  • DVT-12267 XVM.2.1.4.2.8 False hits when second argument is of type typedef of xvm_sequencer

  • DVT-12272 SVTB.2.12 False hits for library files

  • DVT-12275 SVTB.25.6.6.0 False hits for comments containing "--"

  • DVT-12276 SVTB.25.6.6.0 False hits for *_extern_implementation as value of memberKinds parameter

18.1.29 (13 September 2018)

Features

  • DVT-11654 Add -rulepool_xml_include flag to specify the rule attributes to be included in the generated ruleset

Enhancements

  • DVT-12242 Add parameter to XVM.3.3.11.1 to allow string concatenation for the constructed string name

Bugfixes

  • DVT-12244 Disable rules with duplicate names

  • DVT-12256 XVM.5.2.1.1 False hits for non-XVM projects

18.1.28 (6 September 2018)

Enhancements

  • DVT-12017 Add parameter to XVM.3.1.10 to skip fields assigned in pre_randomize()

  • DVT-12235 Add parameter to SVTB.10.6.1.0 to allow certain functions and tasks

Bugfixes

  • DVT-11998 Escape parameter default values in generated XML rulepool

  • DVT-12243 XVM.3.3.11.1 False hits for multidimensional arrays when suffixPattern is set

18.1.27 (30 August 2018)

Features

  • DVT-12071 New Rule: SVTB.8.4.8 Do not use disable statement with fork block name

  • DVT-12175 New Rule: SVTB.5.9.9 Do not use enum logic of 1 bit width

  • DVT-12199 New Rule: SVTB.22.2 Do not use explicit generate blocks

Enhancements

  • DVT-12172 Add total number of compiled lines to custom reports API

Bugfixes

  • DVT-12216 Batch mode compilation fails for files with modification time less or equal to 0

18.1.26 (27 August 2018)

Features

  • DVT-12066 New Rule: SVTB.6.10 Always remove elements from queues, dynamic arrays and associative arrays

  • DVT-12174 New rule: SVTB.6.10.1 Always read or remove elements from queues, dynamic arrays and associative arrays

Enhancements

  • DVT-12002 Add a flag to Verissimo to return non-zero exit codes only for internal errors

  • DVT-12117 Add parameter to SVTB.25.6.6.0 to check comment pattern

  • DVT-12118 Add constructor, function, task and constraint implementation as elements of memberKinds parameter of SVTB.25.6.6.0

  • DVT-12136 Add module as element for elementKinds parameter of SVTB.25.4.0

  • DVT-12137 Add parameter to SVTB.25.4.0 to check comment pattern

  • DVT-12158 Update description of XVM.2.1.16 and add exception for components inheriting from uvm_test

  • DVT-12168 Add parameter to XVM.3.3.11.1 to allow suffix for the constructed string name

Bugfixes

  • DVT-12197 SVTB.10.6.1.0 False hits for struct selects

18.1.25 (9 August 2018)

Features

  • DVT-12074 New Rule: SVTB.1.1.13 All return statements that return a value or a variable should have parentheses

Enhancements

  • DVT-11883 Add failure annotations (git, svn, tags) to custom reports API

Bugfixes

  • DVT-12068 SVTB.7.27 False hits for array methods on typedef of dynamic arrays of classes

18.1.24 (3 August 2018)

Features

  • DVT-11732 New Rule: SVTB.1.1.12 Packed and unpacked dimensions formatting

  • DVT-12078 New Rule: XVM.5.4.5 Do not create TLM ports with null or empty name and parent

Enhancements

  • DVT-11967 Ability to merge Verissimo custom reports

  • DVT-12010 SVTB.1.1.10 Allow no whitespace in the declarations of arrays

Bugfixes

  • DVT-12059 SVTB.15.7.1.1 should fail when object allocation is inside a macro argument

  • DVT-12082 NullPointerException in rules XVM.3.3.3 and XVM2

  • DVT-12089 SVTB.15.7.1.1 False hits in files without 'if (uvm_report_enabled())' blocks

18.1.23 (26 July 2018)

Performance

  • DVT-12080 Improve performance of rule SVTB.27.10.1

Features

  • DVT-9671 New Rule: XVM.5.1.3.9 Always guard with a verbosity check the message computation for UVM reporting macros

  • DVT-11797 New Rule: XVM.4.25 Do not use 'null' for context when setting configuration properties

  • DVT-12008 New Rule: XVM.4.26 Do not use wildcard for instance name when setting configuration properties

18.1.22 (20 July 2018)

Features

  • DVT-11728 New Rule: SVTB.1.1.11 Space after comma

  • DVT-11780 New Rule: XVM.4.24 Do not use uvm_reg.update() after using uvm_reg.predict()

Enhancements

  • DVT-9565 Filter out library (OVM/UVM) compilation warnings from batch output and from SYNTACTIC_PROBLEM, SEMANTIC_PROBLEM and NON_STANDARD checks

  • DVT-11727 Add parameter to SVTB.27.13 to specify label pattern

  • DVT-11768 Add parameter to SVTB.27.10.1 to skip parameters

  • DVT-11997 Change parameter allowedMacrosPatterns of XVM.7.3 to allow macro name patterns

  • DVT-12011 Add parameter to XVM51b to allow create() in sequences

Bugfixes

  • DVT-11995 SVTB.27.1.0 False hits for typedefs when enforcing exclusivity of suffix or namePattern

  • DVT-12034 IndexOutOfBoundsException in rule SVTB.1.1.9 for files with DOS line endings

  • DVT-12079 XVM.4.23 Should check uvm_component.set_config_*() functions called directly from a component

18.1.21 (6 July 2018)

Features

  • DVT-11731 New Rule: SVTB.1.1.10 Single space around binary operators

  • DVT-11892 New Rule: SVTB.6.1.2.2 Packed struct members must be similar (signed/unsigned, 2-state/4-state)

  • DVT-11959 New Rule: SVTB.16.12 Do not use implicit coverpoints

Enhancements

  • DVT-10489 Add parameter to SVTB.27.1.0 to enforce exclusivity of suffix or namePattern to specified elementKind

  • DVT-10596 Add parameter to SVTB.13.3 to allow mailboxes to be used in sequences

  • DVT-11834 Add parameter to SVTB.15.8.1 to allow unqualified identifiers when at least one identifier with the same name is qualified using local in the same constraint expression

  • DVT-11890 Add parameter to XVM.3.1.9.2 to check only hierarchical handles

  • DVT-11894 Add parameter to XVM.2.1.1.1 to allow non-param_utils macro on a parameterized class

Bugfixes

  • DVT-11927 SVTB.7.26 False hits for concatenation to super.method

18.1.20 (28 June 2018)

Features

  • DVT-11910 New Rule: XVM.5.1.3.8 Use xvm_verbosity enum elements as verbosity arguments for `xvm_info macro calls

Bugfixes

  • DVT-11887 XVM.3.1.9.1 Should fail when name is a concatenation result

  • DVT-11907 XVM.3.3.11.1 False hits when changing size of dynamic array of sequences

18.1.19 (21 June 2018)

Features

  • DVT-11835 New Rule: SVTB.2.12.1 Mandatory `ifndef guards for each file

Enhancements

  • DVT-11888 Add parameter to XVM.3.1.9.1 to skip fields by name, default value is rsp and req

  • DVT-11889 Add parameter to XVM.3.1.9.1 to ignore hierarchical handles, default is false

  • DVT-11937 Add parameter to XVM.3.3.11.1 to ignore hierarchical handles, default is false

Bugfixes

  • DVT-11893 SVTB.12.2.8 False hits for function containing only a randcase with return statements

  • DVT-11943 NullPointerException in rule SVTB.5.2.7

  • DVT-11945 SVTB.5.2.7 False hits for assignments containing complex array selects

  • DVT-11947 ArrayIndexOutOfBoundsException in rule XVM.2.1.1.3

18.1.18 (15 June 2018)

Bugfixes

  • DVT-11925 DVT specific eclipse.ini is missing from Linux and Windows Eclipse 4.6 and 4.7 distros

18.1.17 (14 June 2018)

Features

  • DVT-11831 New Rule: SVTB.15.3.4.1 Constraint distribution weights must add up to a power of 10

  • DVT-11874 New Rule: SVTB.14.10.22 Do not use large time or repetition windows

Enhancements

  • DVT-11718 Add parameter to SVTB.5.2.7 to skip assignments from a parameter

  • DVT-11726 Add 'generate' to supported elementKinds for rule SVTB.27.13

  • DVT-11739 Add parameter to SVTB.1.1.9 to allow indentation of multiline hierarchical identifiers

  • DVT-11761 Add elementKind parameter to SVTB.27.8.1

  • DVT-11852 Add parameter to XVM51b to allow object create call in sequence constructor

  • DVT-11868 Add parameter to SVTB.1.1.1 to skip tabs in comments

  • DVT-11880 Add parameter to XVM.7.3 to specify allowed macros

  • DVT-11881 Add parameter to XVM.2.1.15 to allow non-factory registered classes to be instantiated using new()

  • DVT-11882 Add parameter to XVM.2.1.15 to skip classes matching specified prefixes

  • DVT-11918 Add call stack to error message of XVM.5.1.4

  • DVT-11919 Add parameter to XVM.5.1.4 to allow `xvm_error macro calls in non xvm_components

Bugfixes

  • DVT-11766 XVM.2.1.8 False hits for arrays of port handles

  • DVT-11767 XVM.2.1.8 False hits when calling xvm_tlm_fifo methods

  • DVT-11770 XVM.2.1.9 False hits for hierarchical references through p_sequencer or m_sequencer

  • DVT-11772 SVTB.27.3.1 should also check event names

18.1.16 (31 May 2018)

Features

  • DVT-11819 New Rule: SVTB.14.10.19 Do not use unbounded repetition windows at the start or end of the antecedent of an implication

  • DVT-11839 New Rule: SVTB.14.10.20 Do not use unbounded time windows in the antecedent of an implication

  • DVT-11869 New Rule: SVTB.14.10.21 Do not use implications with antecedents that allow an empty match

Enhancements

  • DVT-11832 Add parameter to XVM.4.22 to choose UVM register layer API to be checked

Bugfixes

  • DVT-11781 SVTB.5.2.1.1 should not fail for API derived from UVM

  • DVT-11790 SVTB.29.2 should not fail for API derived from UVM

18.1.15 (17 May 2018)

Features

  • DVT-11723 New Rule: SVTB.14.10.18 Assertions in loops must use loop index

Bugfixes

  • DVT-6146 SVTB 10.6.1.0 fails when some operators are used in the conditional expression

  • DVT-11798 XVM51b False hits for indirect create() call done through an implicit implementation of a method

18.1.14 (10 May 2018)

Performance

  • DVT-10810 Improve performance of rule SVTB.12.2.7

Features

  • DVT-10668 New Rule: SVTB.4.1.4.1.2 Specify time units for all delays

Enhancements

  • DVT-11280 XVM.4.22 should also check the return value of uvm_reg_field.predict() function

18.1.12 (4 May 2018)

Bugfixes

  • DVT-11741 XVM.2.1.1.1 False hits for classes with local parameters

18.1.11 (27 April 2018)

CLEANUP

  • DVT-11318 Use by default UVM library for rulesets without library attribute

Features

  • DVT-10324 New Rule: XVM30c Agent Connect Phase - Driver to Sequencer Connection

  • DVT-11668 New Rule: SVTB.14.10.15 Edge must be specified for all clocking event expressions of a property

  • DVT-11691 New Rule: SVTB.14.10.16 Do not use sequences in clocking events of a property

  • DVT-11706 New Rule: SVTB.14.10.17 Do not mix |-> and |=> in the same assertion

Enhancements

  • DVT-11673 SVTB.2.10 Add support for multiple header files

Bugfixes

  • DVT-11705 SVTB.7.1.4.1 False hits for argument of type associative array

  • DVT-11708 SVTB.15.8.1 should not filter failures in `uvm_do_*_with() macros

18.1.10 (16 April 2018)

Bugfixes

  • DVT-11651 NullPointerException in rules SVTB.7.12.3, SVTB.7.12.3.1 and SVTB.14.10.1

18.1.9 (12 April 2018)

Features

  • DVT-11625 New Rule: SVTB.30.10 Do not use deprecated clocking event argument of $sampled

Bugfixes

  • DVT-11399 Build config warnings are not reported when -ignore_compile_errors is used

18.1.8 (5 April 2018)

Features

  • DVT-11446 New Rule: XVM.4.23 Do not use wildcards or regex for field names when setting configuration properties

  • DVT-11448 New Rule: XVM68 Use the tree printer for objects printed often

Enhancements

  • DVT-11569 Add argument to the getFiles() Custom Report API to include UVM files

Bugfixes

  • DVT-11545 False failures for class parameters resulted from UVM macro expansion

  • DVT-11570 Parameters description and value are not visible in the custom report

  • DVT-11571 Mandatory parameter values are not visible in the rule description

18.1.6 (29 March 2018)

Features

  • DVT-11279 New Rule: SVTB.15.4.1.4 Do no assign the status of randomize() to the randomized variable

Bugfixes

  • DVT-11527 IndexOutOfBoundsException for XVM.2.1.1.1, XVM2, XVM.2.4.4, XVM.3.1.3 & XVM.3.3.3 when a class is registered with fewer parameters

18.1.5 (22 March 2018)

Performance

  • DVT-10812 Improve performance of rule SVTB.6.6.3.1

Features

  • DVT-11333 New Rule: SVTB.2.16 Do not use compile guards

Enhancements

  • DVT-10579 Add parameter to SVTB.6.1.2.1 to allow unsigned types

  • DVT-11366 XVM.2.1.1.1, XVM2, XVM.2.4.4, XVM.3.1.3, XVM.3.3.3 Add support for typedefs used as arguments of xvm_*_param_utils macros

Bugfixes

  • DVT-11324 SVTB.7.20 False hits for non-class variables

  • DVT-11325 SVTB.7.20 does not report hits inside action blocks

  • DVT-11363 XVM51 False hits for multiple casts of created instances

  • DVT-11450 XVM.2.1.1.5 & XVM.2.1.1.4 False hits for whitespace before the parameterization of the macro argument

  • DVT-11470 XVM.2.1.1.1.0 not taking into account registration macros given as parameters

18.1.4 (15 March 2018)

Features

  • DVT-8744 & DVT-10195 Ability to tag failures and to filter them by tag

Enhancements

  • DVT-11259 Add parameter values in the rule description

Bugfixes

  • DVT-11396 SVTB.7.1.4.1 False hits for methods with arguments of parameterized type

  • DVT-11403 SVTB.6.7.4 False hits when assigning a concatenation to a queue element

  • DVT-11413 Fixed HTML report file links to generated HTML code

  • DVT-11414 Fixed HTML report filtering by annotations

18.1.3 (8 March 2018)

Bugfixes

  • DVT-11376 Fixed HTML report filtering by files and checks

18.1.2 (2 March 2018)

Features

  • DVT-10798 Ability to merge HTML Reports

Enhancements

  • DVT-10694 Ability to match start/end of multi-line inline waivers based on name to allow interlaced waivers

18.1.1 (22 February 2018)

Features

  • DVT-10217 Ability to assign fix effort estimation for check failures

17.1.45 (19 February 2018)

Features

  • DVT-11195 New Rule: SVTB.31.2.1 Unused macro parameter

Bugfixes

  • DVT-11120 False syntax errors for `includes between pragmas of inline lint waivers

17.1.44 (8 February 2018)

Features

  • DVT-11155 New Rule: SVTB.1.1.9 No whitespace between hierarchical identifiers

Enhancements

  • DVT-11242 Add timeprecision information to SVTB.10.7.3.0 failure message

17.1.43 (1 February 2018)

Features

  • DVT-10474 New Rule: SVTB.27.5.6 _t suffix is reserved for typedefs

  • DVT-10475 New Rule: SVTB.27.5.7 _e suffix is reserved for enums

Enhancements

  • DVT-10496 Add parameter to SVTB.10.7.3.0 to check delays only if time precision is set

  • DVT-11209 XVM51b should allow create calls in reg_adapter's reg2bus()

Bugfixes

  • DVT-11199 XVM.4.22 False hits for status check inside macro

17.1.42 (25 January 2018)

Enhancements

  • DVT-11138 Add parameter to rule XVM28 to allow casting the result of the create call

  • DVT-11140 Ability to specify path for custom lint report using -custom_report_location

Bugfixes

  • DVT-11157 IllegalArgumentException in SVTB.2.7, SVTB.2.8, SVTB.2.9, SVTB.27.9.2, SVTB.27.9.3

17.1.41 (19 January 2018)

Performance

  • DVT-10317 Improve performance of rule SVTB.27.10.1

Enhancements

  • DVT-11023 Show a warning if _JAVA_OPTIONS or JAVA_TOOL_OPTIONS system variables are set before running the tool

Bugfixes

  • DVT-11096 IllegalArgumentException in SVTB 27.2.0

  • DVT-11106 SVTB.1.1.4 ignores maxNofChars parameter

17.1.40 (11 January 2018)

Enhancements

  • DVT-8842 Ability to append to the default parameter values of checks

  • DVT-10893 Ability to append to the default description of a check

Bugfixes

  • DVT-11054 SVTB.7.27 & SVTB.12.4 false hits for let constructs

17.1.38 (18 December 2017)

Features

  • DVT-10524 New Rule: SVTB.5.9.8 Do not assign forbidden values containing 'X' or 'Z' to the enum items

  • DVT-11007 New Rule: XVM.5.1.3.7 Do not use methods that call `xvm_info messages with XVM_NONE verbosity

Enhancements

  • DVT-10802 Add parameter to XVM.5.1.3.6 & XVM.5.1.3.7 to allow macro calls guarded by an if condition that checks the value of get_report_verbosity_level()

  • DVT-10885 Add parameter to SVTB.7.12.3 to allow parameterization with default values

  • DVT-10938 All rules should fail if there are no lines of compiled code

17.1.37 (6 December 2017)

Features

  • DVT-10803 New Rule: SVTB.8.4.7 Do not use fork/join_none to call tasks inside functions

Enhancements

  • DVT-10782 Add parameter to SVTB.20.16 to allow input ports of type bit

Bugfixes

  • DVT-10780 SVTB.20.16 False hits for signals of type enum that is typed to logic

  • DVT-10799 SVTB.5.2.7 False hits for assignment to structure of logic

17.1.36 (24 November 2017)

Features

  • DVT-10192 New assertion rules (SVTB.14.3, SVTB.14.4, SVTB.14.10.*)

Enhancements

  • DVT-10569 SVTB.12.1.2 should also check if functions are explicitly declared automatic or static

  • DVT-10883 Increased default heap size to 3g and default stack size to 4m for all 64 bits distros

  • DVT-10909 Update values and attributes of the annotation tag in the ruleset DTD file

Bugfixes

  • DVT-10193 Linter HTML report link doesn't preserve the selected failure when saving the state of the report

  • DVT-10903 SVTB.7.21 False hits interface methods

17.1.35 (17 November 2017)

Performance

  • DVT-10317 Improve performance of rule SVTB.27.10.1

Bugfixes

  • DVT-10840 SVTB.5.2.7 False hits for assignments containing array selects

  • DVT-10881 NullPointerException in rule SVTB.12.7

17.1.34 (10 November 2017)

Bugfixes

  • DVT-10815 XVM51 False hits for virtual component classes

  • DVT-10817 XVM46 False hits for virtual testbench classes

  • DVT-10818 XVM49 False hits for virtual test classes

17.1.33 (1 November 2017)

Performance

  • DVT-10735 Improve performance of rule SVTB.20.15

Bugfixes

  • DVT-10692 XVM51 False hits for component fields casted in build_phase() but created in a parent class

  • DVT-10767 SVTB.5.2.8 False hits inside "with" blocks used as macro arguments

17.1.32 (25 October 2017)

Bugfixes

  • DVT-10592 SVTB.7.21 False hits for struct members

  • DVT-10669 SVTB.12.2.7 False hits for rand_mode(...) used as task

  • DVT-10681 SVTB.5.2.8 False hits for comparisons inside constraints

17.1.31 (20 October 2017)

Features

  • DVT-10361 New Rule: SVTB.8.4.6 Do not access variables that might change inside forks

Enhancements

  • DVT-10655 Add rule info (name, title, description) into generated verissimo_rule_pool.xml

Bugfixes

  • DVT-10646 SVTB.2.12 False hits when comments are preceded by whitespaces

  • DVT-10667 SVTB.4.1.4.1 False hits for delays with variable values

17.1.30 (13 October 2017)

Performance

  • DVT-10627 Improve performance of rule SVTB.10.15

Features

  • DVT-10633 New Rule: SVTB.29.1.9 Banned $void()

Enhancements

  • DVT-10593 Add parameter to SVTB.12.3.7 to allow input ports declared first with the implicit direction

Bugfixes

  • DVT-10620 XVM15c should not flag virtual classes

  • DVT-10628 NullPointerException while generating custom report for rulesets containing compilation rules

  • DVT-10632 SVTB.20.15 false hits for assignments inside functions

  • DVT-10636 XVM28 False hits for arrays of drivers

17.1.29 (6 October 2017)

Features

  • DVT-10576 New Rule: XVM67 Do not use run phase and sub-run-phases at the same time in a component

Enhancements

  • DVT-10556 Add parameters to SVTB.7.1.4 to specify maximum number of lines for methods/constraints that can be implemented in the class body

  • DVT-10567 Add parameter to SVTB.7.12.3.1 to skip checking specified types

  • DVT-10586 Add parameter to SVTB.15.3.1 to specify maximum number of lines for constraints that can be implemented in the class body

  • DVT-10591 Add parameter to SVTB.20.15 to skip blocking assignments within initial blocks

  • DVT-10609 Add error ID to failure message for SEMANTIC_PROBLEM check

Bugfixes

  • DVT-10565 XVM.3.3.4.2.2 should ignore calls to rand_mode and constraint_mode tasks as they don't consume time

  • DVT-10598 Apply ruleset specified severity to SEMANTIC_PROBLEM, SYNTACTIC_PROBLEM and NON_STANDARD rules

17.1.28 (28 September 2017)

Features

  • DVT-10512 New Rule: SVTB.10.18 Do not use object handles with %p format specifier

Enhancements

  • DVT-10517 Add top_modules and run_test_module as options for parameter elementKind of SVTB.10.17

  • DVT-10564 Add API to access file information in Verissimo Custom Report

Bugfixes

  • DVT-10580 SVTB.15.4.1.1 Fails when randomize calls are assigned to non-local variables

17.1.27 (22 September 2017)

Bugfixes

  • DVT-10529 SVTB.10.15 and SVTB.29.7 show hits in XVM library

  • DVT-10540 NullPointerException in rule XVM.3.3.11.1

17.1.26 (14 September 2017)

Features

  • DVT-10322 New Rule: SVTB.29.7 Banned variables

  • DVT-10359 New Rule: XVM66 do_compare() must be overridden in all classes on which it's called

  • DVT-10369 New Rule: XVM65 run_test() must be called without arguments

  • DVT-10446 New Rule: SVTB.25.11 Do not use // comments in macro definitions containing line continuation

  • DVT-10471 New Rule: SVTB.1.1.8 Trailing whitespaces are not allowed

Enhancements

  • DVT-10354 Add parameter to SVTB.1.4.1 to allow statements on same line with assertions

  • DVT-10356 Add parameter to SVTB.7.1.4.2 to ignore missing default argument values

  • DVT-10357 Add parameter to SVTB.2.12 to check only files matching pattern

  • DVT-10420 Add parameter to SVTB.27.5.1 to skip checking identifiers based on their type

  • DVT-10452 Add -fail_on_severity flag to configure when the linter fails (on errors, warnings or infos)

  • DVT-10456 Add parameter to SVTB.1.5 to allow single line case statements

  • DVT-10490 Add enum item and parameter to supported element kinds for rule SVTB.27.1.0

  • DVT-10510 XVM51b should allow create calls in sequence's body()

  • DVT-10516 XVM51b should allow create calls in object's constructor

Bugfixes

  • DVT-10432 SVTB.12.1.2 False hits for DPI functions

  • DVT-10466 SVTB.1.5.1 False hits for else if single line constraints

  • DVT-10508 verissimo.sh doesn't return the correct exit code

  • DVT-10509 Checks with all hits disabled should be displayed as passed in the HTML report

  • DVT-10511 XVM16 should take into consideration inherited fields

17.1.25 (31 August 2017)

Performance

  • DVT-10305 Improve performance of rule XVM.2.1.8

Features

  • DVT-10368 New Rule: SVTB.16.4 Do not use illegal_bins

Enhancements

  • DVT-7974 Show line number when XML files contain errors (ruleset, waivers)

  • DVT-10362 Add array name in the message of SVTB.4.1.6.1

Bugfixes

  • DVT-10434 XVM28 Fails when the guard contains a hierarchical identifier

  • DVT-10445 SVTB.16.1.3 False hits for coverpoints containing cast to enum

17.1.24 (24 August 2017)

REMOVED

  • DVT-9523 Rule XVM.2.8.6 is obsolete and was removed from the rule pool

Performance

  • DVT-10304 Improve performance of rule XVM.2.1.9

  • DVT-10306 Improve performance of rule SVTB.5.2.7

  • DVT-10307 Improve performance of rule SVTB.12.2.3

Features

  • DVT-10257 New Rule: SVTB.2.15 Do not explicitly include files inside argument files

  • DVT-10258 New Rule: SVTB.25.10 Argument files comment style

  • DVT-10302 New Rule: XVM64 Object Constructor

  • DVT-10316 New Rule: XVM.9.2.8 Each verification component should be defined within a package

  • DVT-10318 New Rule: SVTB.21.6 Do not use import at compilation unit scope

  • DVT-10319 New Rule: XVM.2.3.8 A monitor should not assign values to interface members

  • DVT-10320 New Rule: XVM.3.1.10 Sequence item fields shall not be local or protected

  • DVT-10365 New Rule: SVTB.16.9.2 Sample covergroups using sample() instead of specifying a clocking event

  • DVT-10366 New Rule: XVM.2.9.1.5.1 Instantiate covergroups in constructor

  • DVT-10367 New Rule: SVTB.16.11 Do not set option.weight or option.goal of a covergroup, coverpoint or covercross

  • DVT-10418 New Rule: SVTB.7.33 Do not override constraints

  • DVT-10429 New Rule: SVTB.29.6 Banned concurrent assert expressions

Enhancements

  • DVT-10371 Add parameter to SVTB.5.2.7 to skip integer returning system functions by default

  • DVT-10424 Add parameter to SVTB.5.11.2.1 to skip checking $cast calls inside tasks

Bugfixes

  • DVT-10377 XVM61 and XVM62 should allow setting timeout and error limit during start_of_simulation phase

  • DVT-10415 XVM.2.1.4.2.7 False hits when using an initialized local variable

17.1.23 (11 August 2017)

Bugfixes

  • DVT-10409 NullPointerException in rule XVM.5.2.1.1

17.1.22 (10 August 2017)

Bugfixes

  • DVT-10345 SVTB.15.4.1.1 false hits on consecutive if/else branches

17.1.21 (3 August 2017)

Features

  • DVT-10174 New Rule: XVM63 Do not use compare_field_int to compare more than 64 bits

  • DVT-10190 New Rule: XVM.2.1.1.5 Factory registration macros must match the class name

Enhancements

  • DVT-10189 Add parameter to SVTB.29.3.0 to ban only the class inheritance

  • DVT-10253 Add parameter to XVM20 to check for a run phase in parent class

Bugfixes

  • DVT-10221 Add parameter to SVTB.12.7 to allow implicit return type when the function doesn't have a return

  • DVT-10255 SVTB.4.1.7 fails for larger than 32 bit sized literals

  • DVT-10321 Included waivers should be applied in the order they were included

  • DVT-10339 Line numbers are not inline with the HTML code added in the HTML report

17.1.19 (27 July 2017)

Enhancements

  • DVT-10176 XVM62 should also allow setting the error limit using uvm_report_object.set_report_max_quit_count()

  • DVT-10203 Add parameter allowMissingDirectiveOrMethodCall to XVM61 and XVM62 so that they will fail only when set_timeout() or set_max_quit_count() are called after end_of_elaboration phase

Bugfixes

  • DVT-10254 XVM.2.1.4.2.7 false hits on subsequent lines

  • DVT-10266 HTML code added in the HTML report shows the line number bar below the code in some browsers

17.1.18 (21 July 2017)

Performance

  • DVT-10095 Improve performance of rule XVM51b

  • DVT-10248 Improve compilation performance when running the linter in in code with many macro calls

Features

  • DVT-10219 Ability to show available rules not included in running ruleset

Enhancements

  • DVT-10137 Add parameter to SVTB.12.2.8 to allow the use of methods or macros as alternatives to return statements

  • DVT-10250 SVTB.11.2.2 enhancements for modifications followed by return, fixed array indexes and arrays passed as ref or output arguments

Bugfixes

  • DVT-10244 ClassCastException during linting (rule SVTB 29.1.3.1)

17.1.17 (12 July 2017)

Bugfixes

  • DVT-10125 SVTB.11.2.2 Missed hit when iterating through multidimensional array with fixed select

17.1.16 (30 June 2017)

Features

  • DVT-9357 Ability to include ruleset files in other ruleset files

  • DVT-9978 New Rule: SVTB.25.9 Banned comments content

  • DVT-10012 New Rule: UVM.5.1.3.6 Not allowed `uvm_info with UVM_NONE verbosity

Enhancements

  • DVT-9384 Show warning when included waivers / ruleset files do not exist

  • DVT-9464 Add .html and .htm to supported documentation extension in rule DCDC

  • DVT-9477 Ability to use multiple verissimo.sh -gen_* arguments with the same invocation

  • DVT-10024 Ability to set the location of distribution's Eclipse and JRE folders using DVT_ECLIPSE_HOME and DVT_JAVA_HOME

  • DVT-10039 Add parameter to UVM.3.3.4.2.2 to allow system tasks

  • DVT-10058 SVTB.11.2.2 should check for list modifications inside initial blocks

Bugfixes

  • DVT-10057 SVTB.11.2.2 false hits for list modifications inside nested loops

  • DVT-10088 Fixed ClassCastException in XVM.5.2.1.1

17.1.14 (12 June 2017)

Features

  • DVT-9707 Annotate failures with svn blame information

  • DVT-9977 New Rule: SVTB.14.2 Do not use anonymous assertions

Enhancements

  • DVT-9928 Add API to access hit information in Verissimo Custom Report

Bugfixes

  • DVT-9938 SVTB.11.2.2 should not fail for list modifications followed by break or return

17.1.13 (31 May 2017)

Bugfixes

  • DVT-9911 The ruleset generated by verissimo.sh -gen_ruleset_xml contains a deprecated configuration directive

17.1.12 (26 May 2017)

Enhancements

  • DVT-9912 XVM.2.1.15.1 should allow usage of a temporary local variable

  • DVT-9933 Add parameter to SVTB.2.12 to allow user to configure the replacement for the dot before the file extension

  • DVT-9934 Add parameter to SVTB.2.12 to allow user to specify `endif comment format

  • DVT-9947 Add elementKind parameter to SVTB.10.17

17.1.11 (19 May 2017)

Bugfixes

  • DVT-9922 XVM61 & XVM62 should take into account inherited methods that call set_timeout() respectively set_max_quit_count()

  • DVT-9942 XVM.4.20 false hits when a component has classes that extend it

17.1.10 (15 May 2017)

CLEANUP

  • DVT-9462 Remove "at line: 0 in file: none" from check messages indicating certain components are not found

  • DVT-9905 Don't print the summary section two times

  • DVT-9906 Don't print lint failures when -ignore_lint_* flags are used

  • DVT-9907 Don't print compilation problems when -ignore_compilation_errors flag is used

Features

  • DVT-9731 New Rule: SVTB.7.32 Use fully qualified class names

  • DVT-9908 New Rules: Added two new rules SYNTACTIC_PROBLEMS, SEMANTIC_PROBLEMS that can be configured to show the compilation problems with specified severities

Enhancements

  • DVT-9874 SVTB.15.4.1.1 should recognize when the return value is assigned to a variable that is checked subsequently

  • DVT-9897 XVM.2.1.4.2.8 should not fail when the create call uses named arguments

Bugfixes

  • DVT-9898 Generated ruleset/rulepool documentation should not wrap in the middle of the word in the description area

  • DVT-9909 Rules disabled by waivers should not be printed out

17.1.9 (2 May 2017)

Features

  • DVT-7032 & DVT-9712 Ability to include the source code files and jump to the failure line from the HTML report

  • DVT-9761 New Rule: XVM.5.2.1.2 Factory overrides must be called before any create call

  • DVT-9782 New Rule: XVM.2.1.1.4 Classes registered using factory registration macros must be package qualified

Enhancements

  • DVT-9840 Add parameter to XVM.5.1.2 to ignore non-existent IDs file

Bugfixes

  • DVT-9831 -gen_custom_report can't load templates outside of working directory

  • DVT-9861 Disabled checks are reported as non-existent in batch output

17.1.8 (18 April 2017)

Features

  • DVT-9808 Added verissimo_index_gen.sh flag to create columns with the number of failures

17.1.7 (10 April 2017)

REMOVED

  • DVT-9523 Rule SVTB.5.11.1 is obsolete and it was removed from the "all rules" ruleset

Features

  • DVT-9760 Ability to generate a custom summary report

Enhancements

  • DVT-9762 Add parameter to XVM.2.1.4.2.8 to allow tests to create a root sequence without passing any context

  • DVT-9767 SVTB 7.14.0 support for constructors and tasks in methodName parameter

17.1.6 (31 March 2017)

Bugfixes

  • DVT-9653 UVM.2.1.1.3 fails when using `uvm_field_int for integral typedefs

  • DVT-9675 SVTB.11.2.2 reports false hits when modifying queue while iterating over an array of queues

  • DVT-9714 SVTB.4.1.7 reports false hits for real literal constant

  • DVT-9739 SVTB.16.1.5 reports false hits when using select in coverpoint definition

  • DVT-9744 SVTB.7.20 reports false hits for struct variable

17.1.5 (23 March 2017)

Features

  • DVT-9691 New Rule: Timeformat must be set whenever timeunit and timeprecision are set

Bugfixes

  • DVT-9701 SVTB.2.14 hits are filtered when the mandatory file is in UVM

17.1.4 (20 March 2017)

Features

  • DVT-9685 New Rule: XVM.5.1.4 Do not use `uvm_error before start_of_simulation_phase

  • DVT-9686 New Rule: XVM61 Timeout must be set before start_of_simulation phase

  • DVT-9687 New Rule: XVM62 Error limit must be set before start_of_simulation phase

17.1.3 (14 March 2017)

Enhancements

  • DVT-9600 SVTB.32.1.0 Add new parameters to skip array arguments that are modified or assigned to a variable that is not local to the method

Bugfixes

  • DVT-9516 UVM.2.1.1.3 fails when using `uvm_field_int for packed arrays

  • DVT-9546 UVM.2.1.1.3 fails when using `uvm_field_real for realtime fields

  • DVT-9552 SVTB.1.4.1 reports false hit for variable = macro statement

  • DVT-9623 SVTB.9.10 false alarm for assignments of same member in different instantiations

17.1.2 (3 March 2017)

Features

  • DVT-9543 New Rule: SVTB.20.16 Define all interface signals as logic except bidirectional ones

  • DVT-9544 New Rule: SVTB.2.14 Mandatory compiled files

  • DVT-9545 New Rule: XVM.5.1.2 Legal message IDs

17.1.1 (24 February 2017)

Enhancements

  • DVT-7673 Fail when files passed as arguments do not exist

16.1.37 (24 February 2017)

Features

  • DVT-9468 New Rule: SVTB.9.10 Do not use blocking and non-blocking assignments on the same variable

  • DVT-9470 New Rule: SVTB.1.4.5 'begin' must be placed on the same line or the next line consistently in the same file

Bugfixes

  • DVT-9507 SVTB.1.4.2 should ignore implicit variables

16.1.36 (10 February 2017)

Enhancements

  • DVT-9474 Linter API: Support for IActionBlock.getCondition() on case and case items blocks

Bugfixes

  • DVT-9452 Linter API: Fix inner enums visibility

16.1.35 (1 February 2017)

Enhancements

  • DVT-7923 Add hyperlinks in failure message for SVTB.27.10.1

  • DVT-9356 Support for older git versions (<1.8.5) when annotating failures with git blame

  • DVT-9392 Linter API: Add IActionBlock.getCondition() to get the condition from conditional statements and loops

  • DVT-9413 Linter API: Add IActionBlock.getAction() and IActionBlock.getBlock() to identify the type of the action block

Bugfixes

  • DVT-9359 Fix ClassCastException in rule SVTB.12.10

  • DVT-9396 Fix verissimo_index_gen.sh log parsing to match the new log format

  • DVT-9414 Linter API: Iteration through API returned sets should be in the same orders as they are declared

16.1.34 (13 January 2017)

Features

  • DVT-7925 Export HTML report failures table to CSV file

  • DVT-8745 Filter failures by annotation (ex. git blame author) in HTML report

  • DVT-8746 Annotate failures with git blame information

  • DVT-9212 New Rule: SVTB.10.16 Do not use an enum argument with '%s' format specifier

  • DVT-9213 New Rule: SVTB.4.1.8.1 Do not assign packed struct from concatenation

  • DVT-9216 New Rule: SVTB.12.10 Do not consume time in a tasks assigning to an output argument

Enhancements

  • DVT-9189 Mark disabled checks with a strike through in HTML report

  • DVT-9190 Add top disabled checks and files to summary page when the DISABLED filter is set in HTML report

  • DVT-9280 Add parameter to SVTB.15.7.1 and SVTB.15.7.1.1 to check all possible implementations of a virtual function

  • DVT-9353 Add parameter to SVTB.7.28 to allow modification of list elements

16.1.32 (22 December 2016)

Features

  • DVT-9307 New Rule: XVM51b: XVM Factory create calls must occur during XVM phases

  • DVT-9318 New Rule: XVM.2.2.10 Driver shall assign value to clocking block signals using non-blocking assignment

Enhancements

  • DVT-9297 Add number of error/warning/info/disabled hits to linter's output

Bugfixes

  • DVT-9308 Parameter allowQueueConcatenation of SVTB.6.7.4 should allow concatenating arrays to queue

16.1.31 (9 December 2016)

Features

  • DVT-9263 New Rule: SVTB.19.3.2 Specify timeunit and timeprecision in every module, program, package, or interface

  • DVT-9276 New Rule: XVM.4.20 Virtual interface shall be assigned to components through uvm_config_db

  • DVT-9277 New Rule: XVM.4.22 Caller shall always check return status of UVM register layer API calls

  • DVT-9278 New Rule: XVM.4.21 Caller shall always check return value of uvm_config_db API calls

  • DVT-9279 New Rule: XVM15c Driver shall call accept_tr(), begin_tr() and end_tr() in its run_phase

Bugfixes

  • DVT-9267 XVM51 reports false hits when components are created from classes with parameters

  • DVT-9293 Fix NullPointerException when +dvt_auto_snps_vip_* flags are used

16.1.30 (24 November 2016)

Features

  • DVT-5370 New Rule: SVTB.12.2.8 Missing return in non-void functions

  • DVT-9232 New Rule: SVTB.10.15 Use maximum one relational operation in a constraint expression

  • DVT-9237 New Rule: SVTB.5.1.2 Use default nettype none to force explicitly declared nets

  • DVT-9238 New Rule: SVTB 12.2.9 Functions not returning any values must be declared void

  • DVT-9239 New Rule: SVTB.7.30 Base classes must be declared virtual

  • DVT-9240 New Rule: SVTB.13.2.1 Use wait event.triggered instead of @event

  • DVT-9249 New Rule: SVTB.7.31 Only randomizable variables should be declared public

Bugfixes

  • DVT-8612 SVTB.7.1.2.2 should not report errors for virtual functions of other objects

16.1.29 (14 November 2016)

Features

  • DVT-9182 New Rule: SVTB.12.9 Declare methods using ANSI C-style arguments

  • DVT-9183 New Rule: SVTB 27.13 Specify end labels for blocks

  • DVT-9184 New Rule: SVTB.7.29 Do not declare non-public members as randomizable

  • DVT-9202 New Rule: SVTB.6.9 Do not use anonymous enums, structs, unions

  • DVT-9204 New Rule: SVTB.10.14 Do not use casex statements

  • DVT-9205 New Rule: SVTB 16.10 Do not use anonymous coverpoints and covercrosses

  • DVT-9210 New Rule: SVTB.15.7.1.1 Do not use new() without get_randstate() under an if uvm_report_enabled()

16.1.27 (28 October 2016)

Performance

  • DVT-9121 Improve performance of rule XVM15b

Enhancements

  • DVT-9093 Add parameter to SVTB.2.13 to specify if the timescale is mandatory in each file

  • DVT-9158 SVTB.7.26 should report hits on method implementations, not on extern declarations

  • DVT-9169 Add parameter to SVTB.7.28 to allow modification of fields inside the method parameters

Bugfixes

  • DVT-9122 Build config: irun location is not correctly inferred when compiling in batch mode

  • DVT-9159 SVTB 7.27 should check only class handles and skip strings, enums and structs

16.1.26 (17 October 2016)

Enhancements

  • DVT-8720 SVTB.32.1.0, SVTB.32.2.0 should also show the function name, not only the argument name

  • DVT-9092 Change default value of SVTB.5.2.8 skipParameters to true

Bugfixes

  • DVT-8896 Verissimo batch waivers don't work when DTD is specified

16.1.25 (9 October 2016)

CLEANUP

  • DVT-7800 Inconsistent behavior for "not applied" checks

  • DVT-9072 Removed support for passed hits, rules should only report failures - all rules without failures are marked as passed

Enhancements

  • DVT-8747 Ability to see waived hits in Verissimo HTML reports and user interface

16.1.23 (14 September 2016)

Enhancements

  • DVT-9025 Linter API: Add ISourceElement.getSourceCode() and ISourceFile.getSourceLine(...) methods

Bugfixes

  • DVT-9032 NullPointerException in rule XVM.2.1.1.3

16.1.22 (12 September 2016)

Features

  • DVT-6959 & DVT-8902 New Rule: SVTB.11.2.2 Underlying list modifications are forbidden in foreach loops

  • DVT-8489 New Rule: SVTB.2.13 Check that the same timescale is used in every file

  • DVT-8863 New Rule: SVTB.7.28 Do not modify method parameters

  • DVT-8916 New Rule: SVTB.10.13.1 Do not use force statements

Enhancements

  • DVT-8841 SVTB.12.5 Replace allowedCalls parameter with skipMethods that will match qualified method name not the method call text

  • DVT-8843 Add parameter allowedClassPattern to XVM.7.1 & XVM.7.2

  • DVT-8903 Add parameter to XVM51 to allow cast on the the newly created component: $cast(m_comp, create_component(...))

  • DVT-8998 SVTB.7.26 should not fail if the method body contains preprocessing directives

Bugfixes

  • DVT-8833 SVTB.12.2.7 function with missing return type is assumed to be void instead of logic

  • DVT-8883 SVTB.5.11.1 False alarm when casting to enums from declared in a different class

16.1.21 (26 August 2016)

Enhancements

  • DVT-8673 Add parameter to SVTB.5.2.8 to skip comparisons of parameter values

  • DVT-8732 Add parameter to SVTB.14.1.2 to customize the allowed error reporting methods and macros in the else clause of an assertion

Bugfixes

  • DVT-8885 SVTB.10.6.1.0 false alarm when using conditional operator in function arguments

16.1.19 (5 August 2016)

Features

  • DVT-7583 New Rule: SVTB.15.8.1 Avoid name shadowing in randomize() with '{...}'

  • DVT-8646 New Rule: XVM.5.2.1.1 Factory override methods must use compatible override types

Enhancements

  • DVT-8752 Add verissimo.sh flag -gen_ruleset_xml for generating the ruleset XML for any of the predefined rulesets (full, basic, compliance)

  • DVT-8864 SVTB.7.27 reduced the number of false alarms in foreach loops and 'array.method(item) with {...}', added the correct types for predefined method parameters and better detection for variables' scope

  • DVT-8901 Add parameters to SVTB.12.8 to: ignore forks, skip entities declared in macros or packages, ignore calls to predefined methods, user methods and inside macros

Bugs

  • DVT-8884 SVTB.31.2.0 incorrectly flags unused macros when they are used as arguments to other macros

16.1.18 (25 July 2016)

Enhancements

  • DVT-8674 Add parameter to SVTB.6.7.4 to allow concatenating queues

Bugfixes

  • DVT-8858 SVTB.1.3.2 and SVTB.27.7.1 should not report hits in __vlog__ files

16.1.17 (15 July 2016)

Features

  • DVT-1196 New Rule: SVTB.1.1.7 Number of lines per file should not exceed <maxNofLine>

  • DVT-1637 New Rule: SVTB.7.26 Do not override method and call only super.method()

  • DVT-3599 New Rule: XVM.2.1.1.3 XVM Field macros must match field type

  • DVT-3836 New Rule: SVTB.7.27 Do not use a class handle without allocating it

  • DVT-8751 New Rule: SVTB.12.8 Method call stack size should not exceed <maxStackSize>

Enhancements

  • DVT-8672 Add parameter to SVTB.1.4.4 to skip macros

Bugfixes

  • DVT-7822 SVTB.12.4 False alarm for copy constructor call

  • DVT-8811 Exceptions in rules ARSAa and ARBF

16.1.16 (8 July 2016)

Features

  • DVT-3703 New Rule: SVTB.7.25 All classes that inherit from <baseClass> must not override <function>

  • DVT-7616 New Rule: SVTB.29.1.8 Banned $psprintf

  • DVT-8508 & DVT-8509 New Rule: SVTB.27.9.4 Coverpoint and covercross naming pattern

Enhancements

  • DVT-8135 Check that executed script is part of the same distribution where $DVT_HOME points to

16.1.15 (30 June 2016)

Enhancements

  • DVT-7821 Add Basic Ruleset

  • DVT-8677 Add parameter to XVM.2.8.5 to allow indirect calls

  • DVT-8679 Add parameter to SVTB.6.1.2.1 to allow fixed-width enums

Bugfixes

  • DVT-8675 SVTB.7.21 False alarm for modport signals

16.1.14 (17 June 2016)

Enhancements

  • DVT-8694 Linter API: Added support for assertions

Bugfixes

  • DVT-8671 SVTB.4.1.4.1.1 reports false hit for #1 some_task()

  • DVT-8703 NullPointerException in rules SVTB_7_1_4_1, SVTB_7_1_4_2, SVTB_7_1_4_3

  • DVT-8704 StackOverflowException in rules SVTB_31_1, SVTB_7_13, SVTB_7_14_0

16.1.10 (16 May 2016)

Enhancements

  • DVT-7674 Default mode for Verissimo without a custom ruleset changed from OVM to UVM ("-ovm" argument can be used to switch back to the OVM mode)

16.1.9 (9 May 2016)

Features

  • DVT-8314 New Rule: SVTB.7.1.2.2 Class constructor must not call virtual functions

Enhancements

  • DVT-7720 Add parameter to SVTB 5.11.2.1 & SVTB 15.4.1.1 to skip calls with cast to void

Bugfixes

  • DVT-7825 SVTB.31.1.0 False alarm for arguments of import DPI functions

16.1.8 (30 April 2016)

Enhancements

  • DVT-7623 Add parameter to rule ARAI to allow instantiation in test classes

  • DVT-8377 Add parameter to rule SVTB.27.1.0 to support pattern matching

  • DVT-8398 Add parameter to rule SVTB.2.10 to support regular expressions in the reference header

16.1.7 (25 April 2016)

Bugfixes

  • DVT-8530 verissimo_index_gen.sh always fails while copying static resources

16.1.6 (18 April 2016)

Features

  • DVT-8376 New Rule: SVTB.1.1.2.0 Use a specified number of spaces for indentation

Enhancements

  • DVT-8378 Refine XVM.6.2 to search for report macros in else branch of assertions

  • DVT-8438 Add parameter to rule SVTB.7.24 to check any combination of fields, functions or tasks

16.1.5 (8 April 2016)

Features

  • DVT-8427 Ability to specify path for HTML lint report using -html_report_location

Enhancements

  • DVT-8144 Add parameter to rule SVTB.31.1.0 to skip unused modules

  • DVT-8311 Add parameter to rule XVM.2.1.17 to allow module access in uvm_config_db::set calls

  • DVT-8315 Add parameter to rule SVTB.15.4.1.1 to enforce strict "if" randomize checking, not allowing assert

16.1.4 (30 March 2016)

Features

  • DVT-8316 New Rule: SVTB.10.7.3.0 Do not use #delay, ##delay, #1step

Enhancements

  • DVT-6327 Resolve system variables for SVTB.2.10 property headerFilePath

  • DVT-8312 Add parameter to XVM.2.1.1.1, XVM.2.4.4, XVM.3.1.3, XVM.3.3.3 to allow `uvm_*_utils_begin/end

  • DVT-8429 Add rule title in generated rulepool XML

16.1.3 (10 March 2016)

Bugfixes

  • DVT-8389 When running verissimo.sh -gen_*_doc an useless auto-config message is printed

16.1.2 (3 March 2016)

Bugfixes

  • DVT-8340 Wrong Java path in MacOS distros

16.1.1 (24 February 2016)

Enhancements

  • DVT-7978 Updated JRE in distribution to version 1.8.0u66

  • DVT-8275 Build with Java 8, minimal JRE required version increased to 1.8

Bugfixes

  • DVT-8331 NullPointerException due to concurrent thread access when lexer and parser operates on different threads (default mode)

15.1.41 (10 February 2016)

Features

  • DVT-7062 New Rule: SVTB.7.23 Do not declare classes inside classes

  • DVT-8088 New Rule: SVTB.7.24 Do not indirectly access local variables, only "this" access is allowed

15.1.37 (23 December 2015)

Bugfixes

  • DVT-8142 SVTB.31.1.0 should not report unused signal for ports used in execution blocks

15.1.32 (18 November 2015)

Bugfixes

  • DVT-8085 Sometimes license checkout fails when using the latest FlexLM server (11.13.1)

15.1.29 (30 October 2015)

Enhancements

  • DVT-8010 Ability to waive a failure inside a macro using the path where the macro is defined

Bugfixes

  • DVT-7995 SVTB.10.6.1.0 false alarms for parameter based expressions

15.1.24 (18 September 2015)

Performance

  • DVT-7214 Performance improvements for: SVTB.5.2.8, SVTB.12.2.7, SVTB.12.4, SVTB.27.10.1

Enhancements

  • DVT-7354 SVTB.31.1.0 flag unused signals / implicit declarations due to typos

Bugfixes

  • DVT-7881 SVTB.31.1.0 false alarm for a variable used only inside "with" block in randomize() function

15.1.17 ()

Features

  • DVT-7727 New verissimo.bat Windows script

Bugfixes

  • DVT-7717 NullPointerException in rule XVM51

15.1.16 (27 July 2015)

Bugfixes

  • DVT-7663 Use portable awk syntax in scripts

  • DVT-7687 Avoid silent exit after a StackOverflowError or OutOfMemoryError

15.1.15 (10 July 2015)

Enhancements

  • DVT-7599 Split Verissimo HTML Report files to avoid browser freezes

15.1.14 (6 July 2015)

Enhancements

  • DVT-7622 SVTB.30.* should have "DEPRECATED, deprecated" as the default deprecatedComments parameter value

  • DVT-7630 Add parameter to SVTB.32.1.0 to skip static functions

Bugfixes

  • DVT-7537 SVTB.12.7 false alarm for covergroup sample function

  • DVT-7604 Ruleset DTD autocomplete in XML editor autocomplete doesn't work

  • DVT-7617 SVTB.5.11.2.2 fails to recognize multidimensional array selection

  • DVT-7621 SVTB.27.5.1 should not check labels capitalization

  • DVT-7626 XVM.2.1.4.1 and XVM.3.1.4.1 should not check the constructor end label

  • DVT-7628 SVTB.27.10.1 false alarm for export DPI functions

  • DVT-7629 SVTB.31.1.0 should not report export DPI functions as unused by default

  • DVT-7632 SVTB.5.2.8 should not fail for constraints

15.1.13 (19 June 2015)

Enhancements

  • DVT-7554 verissimo_index_gen.sh columns for every status with different cell colors

  • DVT-7559 verissimo_index_gen.sh should also check for report's index.html in <report>/verissimo_html_report directory

Bugfixes

  • DVT-7560 Log, waivers, ruleset links generated by verissimo_index_gen.sh will start a download instead of opening in the browser

15.1.12 (5 June 2015)

Features

  • DVT-7531 New Rule: SVTB.33.1.0 Duplicate code

  • DVT-7532 New Rule: SVTB.33.2.0 Duplicate code in functions

  • DVT-7533 New Rule: SVTB.33.3.0 Duplicate functions

  • DVT-7558 Added verissimo_index_gen.sh script to aggregate multiple Verissimo reports

Enhancements

  • DVT-7535 Add parameter to SVTB.7.15 to allow local member variables to be overridden

  • DVT-7551 SVTB.15.4.1.1 should allow using assert for randomization failure checks

15.1.11 (20 May 2015)

Bugfixes

  • DVT-7474 License error due to a NullPointerException in FlexLM

15.1.9 (8 May 2015)

Features

  • DVT-7063 New Rule: SVTB.12.7 Do not use the implicit syntax for function return type

  • DVT-7064 New Rule: SVTB.12.6 Maximum method line count

  • DVT-7411 New Rule: SVTB.31.3.1 Empty if/else

  • DVT-7412 New Rule: SVTB.31.3.2 Empty case item

  • DVT-7413 New Rule: SVTB.31.3.3 Empty loop

  • DVT-7436 New Rule: SVTB.21.5 Do not use wildcard imports

Enhancements

  • DVT-7435 Rules ARDI, ARSI and XVM28 should allow an expr of active_passive enum type guard

Bugfixes

  • DVT-7433 Rule XVM3 should allow protected constructor

  • DVT-7434 Rule XVM16 should not check virtual drivers or monitors

15.1.3 (16 March 2015)

Features

  • DVT-7122 Ability to add links in hit descriptions displayed in Linter HTML Report

15.1.2 (6 March 2015)

Enhancements

  • DVT-7120 Added hit macro call information in Linter HTML Report

15.1.1 (27 February 2015)

Enhancements

  • DVT-7065 Build for Java 7, minimal JRE required version increased to 1.7

3.5.39 (26 February 2015)

Features

  • DVT-5657 New Rule: SVTB.7.22 Do not use hierarchical access to class member variables

3.5.38 (23 February 2015)

Enhancements

  • DVT-7045 Visual and usability enhancements for HTML lint report

  • DVT-7047 Lint report should print the number of passed, error, warning and info checks instead of hits

  • DVT-7058 SVTB.1.4.1 should also allow single line fork ... join

  • DVT-7059 SVTB.1.5 should also fail if single line statement is a macro

  • DVT-7060 Add parameter to SVTB.1.5 to allow single line statements inside fork ... join

  • DVT-7061 Add parameter to SVTB.2.12 to ignore file extension in `ifndef guard name

3.5.36 (9 February 2015)

Features

  • DVT-7018 New Rule: SVTB.7.19 All non-static non-local functions must be declared virtual

  • DVT-7022 New Rule: SVTB.7.20 Do not write to static class variables from non-static functions

  • DVT-7030 New Rule: SVTB.7.21 Use the explicit static access syntax (::) when using static variables or static functions from non-static functions

3.5.35 (30 January 2015)

Features

  • DVT-6999 New Rule: SVTB.12.2.3.1 Do not $cast to the implicit function result variable

Performance

  • DVT-6969 Improve performance of rule SVTB.30.1.0

  • DVT-6970 Improve performance of rule SVTB.29.1.0

  • DVT-6977 Improve performance of rule SVTB.30.2.0

Enhancements

  • DVT-6971 SVTB.30.1.0 should also flag hierarchical deprecated method calls

  • DVT-6972 SVTB.29.1.0 should also flag hierarchical banned method calls

  • DVT-6976 SVTB.30.2.0 should also flag hierarchical deprecated field access

  • DVT-6987 Ability to customize the HTML report look & feel

  • DVT-6988 SVTB.29.3.0 should not flag self-referencing API

  • DVT-6989 SVTB.30.3.0 should not flag self-referencing API

  • DVT-6990 Add parameter to rule SVTB.7.13.1 to allow hiding hits inside macros

  • DVT-6991 Add parameter to SVTB.7.15 to allow filtering by class member variable name pattern

Bugfixes

  • DVT-6983 SVTB.31.1.0 should not report unused enum typedef if enum names are used

3.5.34 (16 January 2015)

Features

  • DVT-6206 New Param Rule: SVTB.1.1.4 Max line length

  • DVT-6792 New Rule: SVTB.4.1.7 Unsized literal values should not exceed 32-bit integer range

  • DVT-6957 New Rule: SVTB.32.2.0 Pass strings by reference unless otherwise needed

Bugfixes

  • DVT-5326 XVM.7.3.4 should hide fails inside the UVM library

  • DVT-5329 SVTB.16.1.6 should check cover bins not the variable

3.5.33 (12 January 2015)

Performance

  • DVT-6937 Improve performance of rule SVTB.12.2.6.1

  • DVT-6940 Improve performance of rule XVM.2.1.17

3.5.32 (18 December 2014)

Features

  • DVT-6907 Show currently running check and check duration

Enhancements

  • DVT-6911 XVM.2.1.4.4.1 should also pass when forever is used in a fork-join or in an indirect call

3.5.30 (28 November 2014)

Features

  • DVT-6868 New Rule: SVTB.14.1.1 Assert property must have 'else'

  • DVT-6869 New Rule: SVTB.14.1.2 Assert property must have 'else $error'

Enhancements

  • DVT-6855 Add check title to HTML lint report

3.5.29 (21 November 2014)

Features

  • DVT-6840 New Rule: SVTB.7.1.2.1 Class constructor must not be protected

  • DVT-6845 New Rule: SVTB.7.13.1 Repeat the 'virtual' keyword when overriding a method

  • DVT-6846 New Rule: SVTB.7.13.2 If a function is declared 'virtual' then the first definition in the inheritance tree should be 'virtual'

  • DVT-6847 New Rule: SVTB.7.13.3 Do not declare 'local virtual' methods

  • DVT-6851 New Rule: Member variables should be local, unless random

Enhancements

  • DVT-6822 Add parameter to component creation rules like ARAI, ARDI, ARMI, ARSI to allow create calls in functions called by build phase

Bugfixes

  • DVT-6844 ClassNotFoundException when using Verissimo API annotations to set severity

3.5.28 (16 November 2014)

Enhancements

  • DVT-6423 Ability to specify the default severity for a rule or all rules in a ruleset

  • DVT-6823 Ability to specify the default severity for a custom rule using Verissimo API

Bugfixes

  • DVT-6751 HTML lint report saved state should work between different reports

3.5.27 (7 November 2014)

Bugfixes

  • DVT-6775 Custom rules are not included in ruleset and rulepool generated documentation

  • DVT-6776 Text should wrap in rulepool and ruleset generated documentation TOC

  • DVT-6786 Add DTD and ruleset version to rulepool generated xml

  • DVT-6793 Infinite recursion in SVTB.5.11.3

3.5.26 (31 October 2014)

Enhancements

  • DVT-6758 XVM.3.4.2 should check all functions, not only body()

3.5.25 (23 October 2014)

Enhancements

  • DVT-6723 Add title to HTML lint report

  • DVT-6736 Add hits table summary to HTML lint report

  • DVT-6737 Visual and usability enhancements for HTML lint report

  • DVT-6748 Print expected errors in a readable format without the stack trace

Bugfixes

  • DVT-6727 HTML lint report hits table column widths are wrong after a resize

  • DVT-6742 Filter out all checks with no hits when file filters are used in HTML lint report

  • DVT-6746 Build configurations: extension mapping flags are ignored

3.5.24 (10 October 2014)

Features

  • DVT-663 New Rule: SVTB.31.1.0 Unused element. Detect unused/dead/dangling variables, functions, classes etc.

  • DVT-4197 Ability to generate the HTML lint report in batch mode

  • DVT-6335 New HTML report with advanced functionality for filtering and searching

  • DVT-6665 New Rule: SVTB.32.2.0 Unused macro. Detect unused macros.

Enhancements

  • DVT-6708 Add "don't check argument types" to SVTB.32.1.0

3.5.19 (21 August 2014)

Features

  • DVT-6559 New Rule: SVTB.32.1.0 Pass arrays by reference unless otherwise needed

Bugfixes

  • DVT-6575 SVTB.31.1.0 should not flag generate blocks

  • DVT-6573 SVTB.31.1.0 false alarm on list type

  • DVT-6551 Verissimo compiles all files as SystemVerilog in a mixed language build configuration regardless of extension mappings

  • DVT-6565 Verissimo complains about non-existing irun executable even if not in ius.irun compatibility mode

3.5.17 (25 July 2014)

Performance

  • DVT-6524 Improve performance of rule XVM59

Enhancements

  • DVT-6531 Enhance scope info for randomize with contexts in SVTB.5.2.8

Bugfixes

  • DVT-6521 Inline waivers should be applied after file waivers

3.5.16 (8 July 2014)

Enhancements

  • DVT-6491 Add showScopeInfo param to enhance the SVTB.5.2.8 hit message for easy waiving

  • DVT-6493 Add showScopeInfo param to enhance the SVTB.1.1.2 hit message for easy waiving

Bugfixes

  • DVT-6512 SVTB.31.1.0 false alarms on property sequences

3.5.15 (8 July 2014)

Enhancements

  • DVT-6153 XVM.3.3.4.2 fails if sequence is virtual or if the body is implemented in extended class

  • DVT-6349 SVTB 10.7.3 should accept #0 in clocking blocks

  • DVT-6421 Clarify ARDI/ARSI vs. XVM28 rule descriptions

  • DVT-6422 Clarify XVM.2.1.4.2.6 vs. XVM52 rule descriptions

  • DVT-6424 Document parameter "skipIfTypedefTo" for SVTB.27.1.0

  • DVT-6425 Add parameter to SVTB.20.15 to check only interface ports

  • DVT-6426 Add parameter to ARDI/ARSI/ARMI/ARAI to allow base class instantiation

  • DVT-6427 Add parameter to SVTB.7.13 to allow for static shadowing

  • DVT-6458 Add parameter to ARDI/ARSI to allow instantiation inside env

Bugfixes

  • DVT-6188 SVTB.6.7.4 false alarm for q1 = foo(q2)

  • DVT-6428 SVTB.12.2.6.1 false alarm for interface functions imported in modport

  • DVT-6437 SVTB.4.1.6.1 false alarm on queue1 0 = {1,2}

  • DVT-6443 Only first waiver could demote hit/check status

3.5.12 (10 June 2014)

Enhancements

  • DVT-2040 Linter API: Added ILinter.getProperties() to get the rule properties map

  • DVT-6323 Linter API: Added CustomRuleProperties annotation to set default values for properties in a custom rule

3.5.11 (30 May 2014)

Enhancements

  • DVT-6259 Add parameter to rule SVTB 21.1.1 in order to allow const variables

Bugfixes

  • DVT-6272 UVM sequence libraries should not be part of the sequences set

  • DVT-6274 Ruleset documentation generation doesn't work with a custom ruleset

3.5.10 (22 May 2014)

Enhancements

  • DVT-6187 Add checkEndIfComment parameter to SVTB 2.12

  • DVT-6190 SVTB.25.6.7.0 should consider @param comments

  • DVT-6202 SVTB 27.2.0 should allow a list of suffix

  • DVT-6205 SVTB.27.10.1 more information in the error message to simplify waivers

Bugfixes

  • DVT-6170 XVM.2.1.6 False hits when calling a banned method which is not from an uvm_component

  • DVT-6231 Architecture is not detected at first GUI launch

  • DVT-6232 Wrong error message, file and line number for create call checks

  • DVT-6233 Wrong type detection when working with deep hierarchies and typedefs

3.5.9 (12 May 2014)

Enhancements

  • DVT-5499 Add parameter to SVTB 2.2 to configure allowed extensions

  • DVT-6117 Ability to specify column width for SVTB.1.1.3

  • DVT-6118 SVTB.2.1 and SVTB.2.6 should allow inner constructs

  • DVT-6184 Add parameter to SVTB 1.4.1 to allow if(a) x=1; same line exceptions

Bugfixes

  • DVT-5247 SVTB.30.1.0 does not fail on calls to inherited virtual deprecated method calls

  • DVT-6186 SVTB 1.5.1 should consider closing bracket when allowSameLine is used

  • DVT-6191 SVTB.5.11.1 and SVTB.5.11.3 should allow signed and unsigned casting

3.5.8 (30 April 2014)

Bugfixes

  • DVT-6133 Views should update when linter window is selected

  • DVT-6135 Duplicate lint configurations when starting with dvt_sv_lint_gui.sh

  • DVT-6136 Race condition was preventing the linter to start when dvt_sv_lint_gui.sh is used

  • DVT-6143 Linter default preference files prefix changed from "custom_lint" to "verissimo"

  • DVT-6144 Linter not-matched waivers disable all checks when used with path or message filters

  • DVT-6145 Reapplying linter checks after removing a waiver that matches (and disables) a check doesn't enable the check back

3.5.7 (22 April 2014)

REMOVED

  • DVT-6121 Removed deprecated scripts run_gui_mode.sh and run_batch_mode.sh

Bugfixes

  • DVT-6101 Compilation ignores part of directives specified in -cmd build configuration file

  • DVT-6111 Use full name resolution for architecture elements

  • DVT-6123 SVTB.1.5 shouldn't fail on "default" case item when allowSameLine is true

  • DVT-6126 Add "allowSameLine" parameter to SVTB 1.5.1 similar with SVTB 1.5

3.5.6 (15 April 2014)

Bugfixes

  • DVT-6093 Semantic errors not displayed after compilation

Enhancements

  • DVT-6015 Add -stack_size and -heap_size to verissimo.sh batch mode

  • DVT-6094 Reporting more compile information

3.5.5 (1 April 2014)

Bugfixes

  • DVT-5957 Wrong UVM.2.1.4.2.8 failure when a parameter is used instead of a class name in type_id::create() call

  • DVT-5959 Wrong SVTB 27.5.2 failure on anonymous crosses

  • DVT-5960 Wrong SVTB 27.5.5 failure on anonymous crosses

  • DVT-5963 SVTB 7.13 should not fire if virtual not specified for one of the parents, but specified in grandparents

  • DVT-5977 Wrong SVTB 5.11.3 failure on enum elements

  • DVT-5978 Wrong SVTB 5.11.2.2 failure on dynamic array access

  • DVT-5985 SVTB.5.11.1 should allow byte casting, as byte is an integer data type

  • DVT-5987 UVM.7.2 should not fire for unknown types that don't start with 'uvm' prefix

3.5 (27 February 2014)

Deprecated: Architecture and Preferences XML files are deprecated, use instead Ruleset XML.

  • DVT-4226 Ruleset XML support for architecture configuration, skip files, elements patterns and not applied status.

3.4.24 (2 December 2013)

  • DVT-5625 Linter API: Added IPackage.getFields() function

  • DVT-5626 Linter API: IClass.getConstructor() should not return the predefined constructor

3.4.22 (15 November 2013)

  • DVT-5592 Linter API: IModel get...() functions return elements collected from the entire compiled code

  • DVT-5593 Linter API: Added support for libraries

3.4.7 (5 August 2013)

  • DVT-5286 Adding code waiver from hit results in an "Index out of bounds" exception

  • DVT-5287 Adding code waiver from hit should check if file is writable or invoke team providers for checkout

3.4 (2 June 2013)

  • DVT-1450 New rule: SVTB.7.17 Method must be static / automatic, if declared static / automatic in ancestor

  • DVT-1984 Count the number of info/warning/error/fatal statements

  • DVT-2860 OVM55/UVM55 doesn't report an error if a function call is under an ovm/uvm macro

  • DVT-4420 Add parameter to SVTB 10.1 "Use parentheses to define operator precedence", allowing user to configure the checked operators

  • DVT-4429 Add parameter to SVTB.27.5.2 "Do not use long variable names" allowing a configurable number of characters

  • DVT-4438 Add parameter to SVTB 1.4.1 "One Statement Per Line" and by default don't check inside macros

  • DVT-4439 Add parameter to SVTB 1.5 "Single line statement without begin/end block", allowing statements on one physical line

  • DVT-4461 Add a dummy rule to indicate that there are compilation errors

  • DVT-4529 New Param Rule: SVTB.25.4 "Element comment" for classes, interfaces ...

  • DVT-4531 Add parameter to SVTB.19.3.1 "Module file must include a timescale" allowing module filtering by name

  • DVT-4532 Rule SVTB.10.1 "Use parentheses to define operator precedence" should not flag unary operators

  • DVT-4533 New Param Rule: SVTB.27.12 Class names that share common functionality should share a common prefix

  • DVT-4848 "Properly instantiated" rules should not fail for typedef based create calls

  • DVT-4967 Rule XVM16 "Virtual Interface" should not fail when using a field of virtual interface typedef

  • DVT-4971 SVTB.1.5 "Single line statement without begin/end block" should not fail for statements between fork join

  • DVT-4988 New Rule SVTB.29.5 "Banned program blocks"

  • DVT-4989 New Rule XVM.2.1.17 "Do not access directly modules from classes"

3.3 (10 March 2013)

  • DVT-3480 Linter nonexistent rules references in custom rulesets are signaled as disabled

  • DVT-4202 Linter HTML Report generates a ovm/uvm/verssimo.html.report file that can be used to open the report from DVT

  • DVT-4370 Removed support for pre DVT 2.9.7 local licenses (DVT_LICENSE_VERSION is not used anymore)

  • DVT-4550 New Rule: SVTB.15.6.1 .sum() type mismatch in constraints

3.2.20 (6 March 2013)

  • DVT-4623 NullPointerException when linting with an empty file list

3.2.18 (4 March 2013)

  • DVT-4588 Rule XVM.2.1.4.2.8 doesn't work when the create call is using package access

3.2.16 (11 February 2013)

  • DVT-4507 Add "allowedTasks" parameter to SVTB.12.2.6.1, with the default value "constraint_mode"

3.2.15 (28 January 2013)

  • DVT-4441 SVTB.16.1.3 should allow autobin bit and enum coverpoints and it should be configurable to allow other types

  • DVT-4458 Fix NPE in Check_7_1 and Check_7_2

3.2.11 (11 January 2013)

  • DVT-3411 Rule "UVM23a Monitor Has Analysis Ports" should skip virtual classes and consider inheritance

  • DVT-3414 Rule "UVM23b Monitor's Analysis Ports Instantiation" should allow instantiation in build_phase() as well

  • DVT-4228 Add parameter to rule "XVM.2.1.6 Banned uvm_component methods" to controll the list of methods

  • DVT-3596 New Param Rule: XVM.2.1.1.2.0 Do not use factory registration macros for virtual classes

3.2.10 (24 December 2012)

  • DVT-1363 Cancel linting when full build is canceled

3.2.9 (11 December 2012)

  • DVT-4363 Verissimo does not take into account all build flags supported by DVT

3.2.5 (6 November 2012)

  • DVT-3397 +dvt_init+ should behave like a new parsing invocation in batch mode as well

  • DVT-4206 Add parameters to rule "SVTB.2.3 Filename must match implementation name" to allow custom extensions

  • DVT-4207 "SVTB.2.12 `include Guards" - Internal error while computing first line with code for the uvm library

  • DVT-4219 Rule "SVTB.2.1.4.4.1 Use a forever loop at the end of the run phase for drivers and monitors" should be applied only if run phase is overridden

  • DVT-4227 Add parameter to base class rules like "XVM 2.7.2 Environment Base Class" to allow direct or indirect inheritance checking

  • DVT-4229 Add parameter to rule "XVM.7.2 Only the following uvm classes can be instantiated" to controll the list of classes

  • DVT-4230 Enhance rule "SVTB.1.4.4 begin statements should be on the same line as what caused the begin" with detailed error message about the construct in order to allow fine waiving

  • DVT-4232 Add parameter to rule "XVM.7.1 Only the following classes can be extended" to controll the list of classes

  • DVT-4233 Change default value for "SVTB.12.5 Bind arguments by name when calling methods with many arguments" to greater then 3

  • DVT-4234 Consider time as a 2 state type and allow control in "SVTB.5.2.7 Assignment from 4 State to 2 State Must include X,Z check" and "SVTB.5.2.8 Comparison of 4 State Type Must use 4 State Equivalence Check"

  • DVT-4235 Enhance "SVTB.12.3.7 Specify type and direction of all arguments" to consider default input not only in classes and to accept ref and const ref

  • DVT-4238 Ability to generate all rules ruleset xml using verissimo.sh -gen_rulepool_xml

  • DVT-4239 Enhance "SVTB.12.2.6.1 Functions should not call tasks directly" to allow task calls inside fork/join_none

3.2.4 (26 October 2012)

  • DVT-3412 Enhance rule "PKFN Valid File Names" to support multiple packages

  • DVT-4191 Fixed internal error when using -y/-v compilation directives

  • DVT-4193 Enhance rule "PKLD Legal Directory Name" to support multiple packages

  • DVT-4194 Fixed Rule SVTB27.3.2 to allow for xvm base classes

  • DVT-4204 Enhance rule "SVTB.1.5.1 Use '{' '}' block for single line constraints" with detailed error message about the construct in order to allow fine waiving

  • DVT-4205 Fixed custom ruleset checks name based on library attribute

3.2.3 (17 October 2012)

  • DVT-4094 Added unspecified parameter guards to parameterizable rules 29..0. 30..0

3.2 (9 October 2012)

  • DVT-1983 New Rule: SVTB.29.1.7 Banned $display and $write I/O system tasks

  • DVT-3860 New Rule: XVM.10.1 Do not use 'uvm_pkg::uvm_transaction'

  • DVT-3861 New Rule: XVM.10.2 Do not use 'set_config_int, set_config_string, set_config_object'

  • DVT-3862 New Param Rule: SVTB.29.3.0 Do not use banned classes

  • DVT-3863 New Param Rule: SVTB.29.4.0 Do not use banned macros

  • DVT-3864 New Param Rule: SVTB.30.1.0 Do not use deprecated method calls

  • DVT-3865 New Param Rule: SVTB.30.3.0 Do not use deprecated classes

  • DVT-3866 New Param Rule: SVTB.30.4.0 Do not use deprecated macros

  • DVT-3935 New Param Rule: SVTB.30.2.0 Do not use deprecated fields

  • DVT-3454 Fixed Rule "SVTB.5.2.7 Recommendation: Assignment from 4 State to 2 State Must include X,Z check" fails for "realtime a=5us"

3.1.15 (3 October 2012)

  • DVT-4022 Support escaped quotes in build configuration files

3.1.14 (27 September 2012)

  • DVT-3046 Linter waivers include functionality

3.1.10 (1 September 2012)

  • DVT-3878 Creating waiver from hit should include a message pattern

3.1.9 (13 August 2012)

  • DVT-2957 Removed SOLARIS release

3.1.8 (7 August 2012)

  • DVT-3842 Fixed argument passing in deprecated scripts

3.1.7 (2 August 2012)

  • DVT-3820 Fixed batch linter -gen_ruleset_doc with custom ruleset

3.1.6 (24 July 2012)

  • DVT-3363 Added -compile_waivers to use compile waivers in batch mode linting

  • DVT-3457 Added parameters to "SVTB.25.6.6 All class member variables must be commented" to control the comment style (inline, above). Rule was renamed to SVTB.25.6.6.0.

  • DVT-3759 New Param Rule: SVTB.7.15 Do not override fields from parent class

  • DVT-3760 New Param Rule: SVTB.7.16 Use the 'virtual' keyword when overriding a virtual method

  • DVT-3767 Fixed linter re-running failed checks twice

  • DVT-3770 Added the generate ruleset/rulepool docs path to output

  • DVT-3772 New Rule: SVTB.23.1 'DPI' is deprecated, use 'DPI-C' instead

  • DVT-3773 New Rule: SVTB.23.2 DPI C identifier equal with method name

  • DVT-3774 New Param Rule: SVTB.27.11.1 DPI methods naming pattern

  • DVT-3775 New Param Rule: SVTB.27.9.2 Interface instances naming pattern

  • DVT-3776 New Param Rule: SVTB.27.9.3 Virtual interface members naming pattern

  • DVT-3777 New Param Rule: SVTB.27.3.2 Class field naming pattern if field type is class

  • DVT-3786 New Param Rule: SVTB.29.1.0 Do not use banned method calls

  • DVT-3787 Abort linting if ruleset file has syntactic errors

3.1.4 (10 July 2012)

  • Reorganized rules = moved rules around in categories and changed some rule ids

  • DVT-3734 Changed linter rule IDs from OVM to XVM

  • DVT-3735 Fixed linter gen_rulepool_doc for UVM with -uvm flag

  • DVT-3736 Removed linter user_prefs and default_prefs files and flags

  • DVT-3737 Added linter manual_checks_status.xml to store the status of manual checks from GUI(replaces user_prefs)

  • DVT-3738 Added linter user_notes.xml to store the user notes form GUI (replaces user_prefs)

  • DVT-3739 Deprecated linter flag -ovm_prefs and replaced it with -linter_preferences

  • DVT-3740 New Param Rule SVTB.15.4.10 Not Allowed: randc

  • DVT-3741 New Param Rule SVTB.15.5.1 Rand class members must be public

  • DVT-3742 New Param Rule SVTB.25.6.6.0 Class members comment

  • DVT-3743 New Param Rule SVTB.25.6.7.0 Class method arguments comment

  • DVT-3744 New Param Rule SVTB.27.3.0 Class member naming pattern

  • DVT-3745 New Param Rule SVTB.27.4.0 Class method arguments naming pattern

  • DVT-3746 Fixed argument testing problem in dvt_sv_lint_gui.sh

  • DVT-3753 New Param Rule: SVTB.12.5 Bind arguments by name when calling methods with many arguments

3.1.3 (2 July 2012)

  • DVT-572 & DVT-3328 Added a linter preference for considering NOT_APPLIED as PASSED, ERROR or NOT_APPLIED

  • DVT-1321 Added Reapply Failed Checks button in Linter GUI

  • DVT-3403 Linter preferences tab will be grayed out when the preferences file is not writable

  • DVT-3452 New Param Rule SVTB.10.6.1.0: Type of conditional expression in ternary conditional operator

  • DVT-3209 XVM checks updated for UVM build() -> build_phase(), connect() -> connect_phase(), run -> run_phase()

3.1.2 (15 June 2012)

  • DVT-3594 New Param Rule UVM.2.1.1.1.0: Proper use of the factory registration macros

  • DVT-3417 Rule "UVM2.1.1.1 Components must register with factory" fails when using the package qualifier (a::b) to specify the registered type

  • DVT-3453 Clarify description of UVM.2.1.15.1 and UVM.2.1.4.2.7 "Constructed string name must match instance name"

  • DVT-3455 Parameterize Rules "Constructed String Name must match Instance Name" in order to enforce $sformatf not $psprintf, for example 2.1.4.2.7

3.1 (1 June 2012)

  • DVT-3510 New Param Rule SVTB.1.1.6: Use 3 Spaces for Indentation

  • DVT-3511 New Param Rule SVTB.2.6: Only One class, interface, package, or module per File

  • DVT-3512 New Param Rule SVTB.2.7: Directory - File - Element Naming

  • DVT-3513 New Param Rule SVTB.2.8: Directory Contains File

  • DVT-3514 New Param Rule SVTB.2.9: Directory - File - Element Existence

  • DVT-3343 New Param Rule SVTB.7.14.0: Overridden Method Must Call super

  • DVT-3515 New Param Rule SVTB.25.1.0: File Header

  • DVT-3516 New Param Rule SVTB.25.2: `include Guards

  • DVT-3517 New Param Rule SVTB.27.1.0: All <elementKind>s should have a <suffix> suffix.

  • DVT-3518 New Param Rule SVTB.27.2.0: All classes that inherit from <baseClass> should have a <suffix> suffix.

  • DVT-571 Changed the icon for Reapply Linting in Problems View

  • DVT-2951 Waivers with DISABLED status can be applied on passing hits

  • DVT-2952 Added wildcard support for linter waivers

  • DVT-2955 Added overall score in HTML Report for linter checks and hits

  • DVT-3263 Added right click on hit to add code waiver

  • DVT-3264 Added one line waiver pragmas for linter

  • DVT-3334 Rebranded DVT SystemVerilog Linter to Verissimo

  • DVT-3364 Added apply-on property for waivers to define the status scope

  • DVT-3398 Verissimo linting will run by default in batch and GUI mode, added a new flag to run the UVM/OVM compliance (-compliance)

  • DVT-3484 Added support for name attribute in ruleset tag used in generated ruleset documentation

  • DVT-3486 Added information about the waiver path in the Verissimo linting configuration dialog

3.0.7.1 (29 February 2012)

  • DVT-2954 Removed duplicated rules form rulepool

  • DVT-3027 Created Linter public extended ruleset

3.0.6 (1 December 2011)

Deprecated: Scripts: eclipse.sh, run_gui_mode.sh, run_batch_mode.sh are deprecated; use instead: dvt.sh, dvt_sv_lint_batch.sh, dvt_sv_lint_gui.sh.

  • DVT-2474 Filter library code problems for NON_STANDARD check

  • DVT-2494 Prompt to save dirty files when launching the GUI linter

  • DVT-2645 Changed the -startovm flag from dvt_sv_lint_gui.sh to -start_linting

  • DVT-2646 Added -uvm flag to linter (batch/gui) to select the internal ruleset library

3.0.5.1 (16 September 2011)

  • DVT-2396 Fixed "Template *.ftl not found" error when generating doc in batch linter

3.0.5 (10 September 2011)

  • DVT-1362 Fixed inconsistency in reporting runtime exceptions running the GUI linter

  • DVT-2319 Added overall score in GUI for linter checks and hits

3.0.4 (30 July 2011)

  • 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

  • DVT-1858 Right click on hit or check to waive

3.0.0.0 (13 May 2011)

  • Updated run_gui_mode.sh to create the workspace and project directories

  • Rules with DISABLED status are skipped in linter

2.9.6.6 (27 January 2011)

  • SystemVerilog Linter API v1.0 is available

  • IDE linting can be canceled with a finer granularity

2.9.6.5 (7 January 2011)

  • Added 'All Verilog Linter Issues' filter for Problems View to have an overview over the failures in IDE

2.9.6.3 (29 November 2010)

  • Major speed improvements (10x faster) for the following checks

2.9.6.2 (23 November 2010)

  • Fixed the problem with -cmd option prepending cwd to specified path

2.9.5.7 (1 November 2010)

  • Added rulesets functionality

  • Changed the way linter is invoked in GUI mode. Now user can create and share multiple launch configurations that support changing the ruleset file or waivers file.

2.9.5.2 (1 October 2010)

  • Added support for simple regular expressions in waivers message pattern.

  • Added pragma waivers (code waivers).

  • Waivers file syntax uses version "4".

  • Waivers file syntax version "3" is DEPRECATED.

  • Waivers file syntax version "2" has been DEPRECATED for REMOVAL in the next release.

  • Waivers file syntax version "1" has been REMOVED.

2.9.4.7 (12 September 2010)

  • Changed the warning message for invalid arguments in batch mode

  • Updated run_gui_mode.sh script with flags for custom vmargs and memory. Using it will fix problems for environments with more memory needs

  • Fixed problem related to defines in ".f" files for batch mode

2.9.3.6 (8 June 2010)

  • Fixed BASH incompatibility in "run_gui_mode.sh" script

2.9.2.3 (16 April 2010)

  • Added waivers based on pattern (regular expression) matching on hit details message (it is applied ONLY on hit details - error message)

  • Added GUI support for pattern based waivers with regular expressions editor

  • Waivers file syntax uses version "3".

  • Waivers file syntax version "2" is DEPRECATED.

  • Waivers file syntax version "1" is DEPRECATED for REMOVAL in the next release.

2.8.9.3 (12 March 2010)

  • Added Waiver GUI.

  • Added support for system variables.

  • Fixed bug related to loading read-only files.

  • Waivers file syntax uses version "2".

  • Waivers file syntax version "1" is DEPRECATED.