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