UVM Objections at DVCON US 2024 – and Grape Jelly

Boiling Grape Jelly
Stay with me – trust me. There’s a tie in to UVM Objections and DVCON US 2024.
It’s been a while – busy. Too busy to be in the garden. But last fall we realized the grape plants in the yard produced a ton of grapes – at least it looked like a ton to us. What to do? Instead of letting the birds eat all the grapes, we decided to make jelly. I’ve made jelly before – it’s not hard, but it can (and did) go wrong. (See – already like the UVM)
Pick the grapes. De-stem the grapes. Smash the grapes. Strain the grapes. Boil the juice. Add pectin and sugar. Wait for it to set. It doesn’t set. Do it again. (Again – like the UVM)

The UVM
The UVM is like a garden – there’s life there. Bugs, slithering creatures, beauty and GRAPES! Harvesting the grapes and getting the process down to make jelly isn’t always “as-easy-as-it-looks”. The same for UVM Objections. Looks easy. But it can get messy.
Come visit DVCON US 2024 March 4-8, 2024, but especially come hear my paper on “Without Objection – Touring the uvm_objection implementations – uses and improvements”. Tuesday, March 5 – Session 4 – “UVM Testbenches” from 3:00 to 5:00.
UVM Objections
Come hear about UVM Objections – share your secrets during the question and answer. We’re going to explore the UVM Objection code a bit – there’s a lot of it. And we’ll dive into writing some NEW code ourselves and use it to synchronize modules and classes.
Somewhere inside the uvm_objection class, inside the raise_objection() and then into the m_raise(), we see

I don’t know about you, but those comments are scary enough. It’s doing more than I need.
Seeing Objections and Barriers
We’ll also “see” these synchronization points

UVM Objections are essential to have a healthy, easy to understand testbench. But there are other ways that are infinitely simpler to do simple synchronization. We’ll talk through a simple barrier implementation. And a more useful layer on top of it.

See You Soon
In the end – uvm_objections, your own custom synchronization barrier or grape jelly.
You should be able to understand how to use it and understand how it works. And then the end result – like grape jelly- is a sugary sweet homemade taste sensation.
Please stop by and say hello at DVCON. See me at the paper or at the Siemens booth – we can swap recipes.
