Happy New Year 2024 from SynthWorks and OSVVM
2023 brought lots of changes.
I started traveling again (a little bit). This was my first travels since the start of COVID.
I presented papers on OSVVM at SEFUW (ESA’s Space FPGA Users Workshop), MAPLD (NASA’s Military and Aerospace Programmable Logic Devices), FPGA Conference Europe (in Munich), and at Verification Futures (both in Reading UK and Austin TX).
OSVVM had 5 updates during 2023. Here are some milestones that I am excited that OSVVM achieved.
CoSimulation
This effort is lead by Simon Southwell.
OSVVM co-simulation is also about running software in a logic simulation environment. The software side is at the bus transaction level, utilizing pre-existing OSVVM features, and can be anything from writing transaction test vectors in C++ to modelling a whole SoC system and its embedded software with a mixture of C++ models and real logic IP.
OSVVM co-simulation is supported for any OSVVM VC that uses OSVVM’s Model Independent Transaction (MIT) library – either Address Bus VC (such as AXI) or Streaming VC (such as AXI Stream or UART).
PDF Documenation is in OSVVM_cosimulation_framework.pdf in the OSVVM documentation repository.
Simon also wrote 3 blogs on OSVVM co-simulation:
- Co-simulation with OSVVM
- Modelling Interrupts with OSVVM Co-simulation
- Using Multiple Transaction Nodes in OSVVM Co-simulation
Thanks to Simon for all of the hard work.
Requirements Tracking
OSVVM uses a capability built into our AlertLog capability to track requirements. We started with basic requirements tracking via CSV input and output in the August 2020 release (2020.08).
As part of the 2023.07 update, OSVVM now automatically creates requirement reports (in HTML) for each test case and automatically creates a merged requirements summary (in HTML) for all test cases within a build.
A longer discussion of this is in the blog Requirements Tracking Part 2.
Randomized Delay
In the 2023.05 update, OSVVM added the DelayCoveragePkg package that implements a pattern for randomizing cycle based delay, such as AXI’s Valid and Ready. AXI4 and AxiStream VC were updated as part of that release to use the new delay models. Axi4Lite adds the DelayCoverage methods in the 2024.01 update.
More information is available in the DelayCoveragePkg User Guide in the OSVVM documentation repository.
ARGV and ARGC Support in Scripting
One of the complaints I have heard about TCL is about the lack of ARGV/ARGC support. So in 2023.09, OSVVM scripting was updated to support $ARGV and $ARGV in build and include. $ARGV is a TCL array and accessed as $ARGV(1), $ARGV(2), …
On-line OSVVM Classes
SynthWorks is continuing with our instructor lead, on-line VHDL classes. With our “half day” on-line format, we do on-line classes right. Accelerate your learning pace of OSVVM.
January 22 – February 2 |
March 11 – 22 |
Additional class dates will be announced soon.
For details see https://synthworks.com/public_vhdl_courses.htm.
We frequently arrange the lecture portion of the OSVVM classes in the early day for US so that our colleagues in Europe can attend at the end of their day.