The 2024.07 release adds:
- Breaking changes in Test Status and CreateClock
- To maintain backward compabitility, set the script variable OsvvmVersionCompatibility to a value 2024.05 or less in OsvvmSettingsLocal.tcl.
- OSVVM provides OsvvmSettingsLocal_example.tcl that can be used to create your OsvvmSettingsLocal.tcl
- AlertLogPkg and TbUtilPkg below show individual ways to override these.
- Note however, if you used selected paths to these procedures, it is a breaking change as the paths have changed from "OSVVM.TbUtilPkg.CreateClock" to "OSVVM.CreateClockPkg.CreateClock"
- Note there are also breaking changes related to TbUtilPkg and named association of Polarity input. See TbUtilPkg below for details.
- AlertLogPkg
- Test Status now reports as: PASSED, FAILED, NOCHECKS, TIMEOUT.
- By default status NOCHECKS is FAILED. Set script variable FailOnNoChecks to false in OsvvmSettingsLocal.tcl to make it PASSED (old behavior)
- PathTail now adds generate label to the name it creates.
- TbUtilPkg
- Added predefined barrier signals: OsvvmTestInit, OsvvmResetDone, OsvvmTestDone, TestDone, OsvvmVcInit
- All procedures that have a Clk input now have a ClkActive input
- The polarity input on procedures has changed name to differentiate it from ClkActive. Expected impact is minimal. Named association calls will need to be updated with the new name. Procedures impacted: WaitForTransaction, WaitForTransactionOrIrq, WaitForBarrier(2), WaitForClock, WaitForLevel
- Moved CreateClock and CreateReset and friends from TbUtilPkg to ClockResetPkg
- CoveragePkg: Coverage models with Coverage Weight of 0 print last and are hidden in the html by default
- MemoryGenericPkg
- Throws Errors on AddrWidth > 40 and warnings if AddrWidth > 36.
- With the Error message, AddrWidth is truncated to 40 and the memory tries to operate.
- Note some simulators die even at AddrWidth = 36.
- Thanks to those reported tool crashes without warnings.
- ClockResetPkg
- Updated CreateClock with Offset, ClkActive, and Enable . Clock starts with ClkActive value after the Offset. At startup it has the initial signal value if set, otherwise, not ClkActive (if Offset > 0 sec).
- Old version of create clock is available as OldCreateClock. Its startup behavior is slightly different.
- Old version of create clock is available as CreateClock when ClockResetVersion is set to 2024.05 or less in OsvvmSettingsLocal.tcl. New versions will not be available though.
- Added CreateJitterClock whose jitter is controlled by a coverage model
- Thanks to those who continued asking about an upgrade to CreateClock
- ScoreboardPkg
- Made all generic functions impure
- Added scoreboards for unsigned, signed, and integer_vector (IntV)
- ReportPkg
- Added TimeOut input to EndOfTestReports
- Added scoreboard reporting for: unsigned, signed, and integer_vector (IntV)
- Scripts
- Include now has better error handling and restoration of state
- Updated support for Synopsys VCS, Cadence Xcelium, and added support for Siemens Visualizer
- Fixed DoWaves for Aldec. Fixed SetLogEnable.
- AXI4
- Shortened AlertLogID Names to improve reports
- AxiStreamReceiver - Added OsvvmVcInit to support setting of WaitForGet before TReady is active.
- UART: Minor updates to work around tool issues (Synopsys VCS and Cadence Xcelium).
- Regressions run on
- GHDL 4.1.0. Latest release run on GitHub Actions
- NVC 1.13.0
- Aldec RivieraPRO 2023.10
- Aldec ActiveHDL 14
- Aldec VSimSA 14 (related to ActiveHDL)
- Siemens Questa 2024.02_1.
- Siemens Visualizer 2024.02_1 runs and individual tests pass, but hangs when running a large number of test cases
- Synopsys VCS V-2023.12-SP2
- Cadence Xcelium 2024.03 - passes osvvm library internal tests, but does not pass the OSVVM public tests (for OSVVM VC)
- Xilinx XSIM 2024.1 - passes osvvm library internal tests, but does not pass the OSVVM public tests (for OSVVM VC)
To download the release as a zip, see: https://osvvm.org/downloads