Verissimo SystemVerilog Testbench Linter User Guide
Rev. 17.1.30, 13 October 2017

Chapter 12. 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.

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 2100)

  • 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.