OSVVM 2022.12 Release
Summary of 2022.12 Changes
- Updated StartUp.tcl to use OSVVM_TOOL environment variable to determine which tool is run when none is found
- Updated scripts for Synopsys VCS and Cadence Xcelium
- Updated log file creation to first use OsvvmBuild.log and then it is copied to “LogFileDirectory”/”BuildName”.log.
- Updated Generic Handling
- Both Simulate and RunTest support calling generic
- HTML log files link to generic tests properly
- Transcripts for tests with generics have the generic information appended to the file name
- Refactored OSVVM reporting so it only depends on static OSVVM information
- Allows scripts Report2Html, Report2Junit, Simulate2Html, and Log2Osvvm to be run separately
- In tclsh, start the reporting environment by “source path_to_osvvm/OsvvmLibraries/Scripts/StartUpReports.tcl”
- Added “SetTransactionType none” which turns off linking to OSVVM HTML log files
Updated StartUp.tcl to use OSVVM_TOOL environment variable
For simulators in which OSVVM runs in the GUI, it is possible to detect which simulator it is and automatically run its VendorScripts_”VendorName/ToolName”.tcl. In the past, if nothing else was found, then GHDL was picked as the default simulator. Now if the environment variable OSVVM_TOOL is set, it will run that tool instead. If OSVVM_TOOL is set to VendorAbc, then there must be a corresponding VendorScripts_VendorAbc.tcl.
Updated log file creation to first use OsvvmBuild.log
Log files now start out named OsvvmBuild.log in the simulation directory. After the build finishes, they are moved to the logs directory and renamed to “BuildName”.log. This allows the use of redirection (or tee) to OsvvmBuild.log to be used if a simulator or environment does not support another means of logging.
Updated Generic Handling
Top level generics can now be specified on either Simulate or RunTest. The following shows setting generics in the OSVVM Ethernet block.
RunTest Tb_xMii1.vhd [generic MII_INTERFACE GMII] [generic MII_BPS BPS_1G] simulate Tb_xMii1 [generic MII_INTERFACE RGMII] [generic MII_BPS BPS_1G] simulate Tb_xMii1 [generic MII_INTERFACE MII] [generic MII_BPS BPS_10M]
In the log and HTML log files, generic information prints as shown in the calls above. Links in the HTML log files have been updated to also include the generic information.
For tests run with generics, all output has the generic information appended to it. As a result, the test case html reports for the RunTest above is named Tb_xMii1_MII_INTERFACE_GMII_MII_BPS_BPS_1G.html. Test transcripts (printed using TranscriptOpen) are also renamed to include the generic information. This allows the test case to be run with different generic settings and the results for each will be saved in a separate file.
Refactored OSVVM reporting so it only depends on static OSVVM information
OSVVM reporting has been refactored so it only depends on static OSVVM information. This allows the scripts Report2Html, Report2Junit, Simulate2Html, and Log2Osvvm to be run separately.
If you are running in a shell environment that supports tclsh (such as Linux or MSYS2 on Windows), you can start the OSVVM reporting environment by doing:
source path_to_osvvm/OsvvmLibraries/Scripts/StartUpReports.tcl SetTransactionType none
The “SetTransactionType none” turns off linking to OSVVM HTML log files and coverage reports.