23.2.29 (13 December 2023)

Performance

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

Features

  • DVT-19004 Ability to import compare reports

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

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

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

Enhancements

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

Bugfixes

  • DVT-19735 R.1173 False failures for assertions

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

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

23.2.28 (28 November 2023)

Performance

  • DVT-19697 Improve performance of rule R.1215

  • DVT-19738 Improve performance of rule SVTB.1.0

  • DVT-19739 Improve performance of SVTB.7.27

Features

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

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

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

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

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

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

Enhancements

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

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

Bugfixes

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

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

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

  • DVT-19709 R.1199 False failures inside macros

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

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

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

23.2.26 (14 November 2023)

Performance

  • DVT-19698 Improve performance of generating compare reports

CLEANUP

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

Features

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Enhancements

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

Bugfixes

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

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

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

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

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

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

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

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

23.2.25 (1 November 2023)

Features

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

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

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

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

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

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

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

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

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

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

Enhancements

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

Bugfixes

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

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

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

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

23.2.24 (17 October 2023)

Features

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

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

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

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

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

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

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

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

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

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

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

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

Bugfixes

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

23.2.23 (9 October 2023)

HIGHLIGHTS

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

Performance

  • DVT-19497 Improve performance of rule R.1042

CLEANUP

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

Features

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

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

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

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

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

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

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

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

Enhancements

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

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

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

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

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

Bugfixes

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

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

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

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

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

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

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

  • DVT-19547 Fixed NullPointerException in rule XVM.2.1.1.3