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 HTML 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