In the DVCon abstract I submitted last month, I mentioned a new verification component called the uvm_boat_anchor. The uvm_boat_anchor is top-secret development so not much was known at the time about this new component, even by me. For the abstract, all I could say was:
The paper concludes by introducing a new UVM component, the uvm_boat_anchor, that further demonstrates the perils of continuing to ignore the value of this basic yet entirely necessary technique.
It’s been a couple weeks since and while the team working on the uvm_boat_anchor is still operating in stealth mode, I’m happy to announce that I can finally give people a sneak peek.
Under-the-hood the uvm_boat_anchor depends on a massive amount of complex processing. From a user’s perspective, however, it’s really quite simple. You make an instance of the uvm_boat_anchor, then call the weigh_anchor() function. Based on logic that depends on the issues we filed in the eda.org database as a result of our work on UVM-UTest, the weigh_anchor() function will return either true (i.e. your boat anchor works perfectly, move about as you please) or false (i.e. your boat anchor is stuck… and so are you).
Now because the uvm_boat_anchor is so complex and so powerfully powerful, the development team reckoned that hiding it’s elegance behind a simple true/false result would be entirely inadequate. They surmised it’s value could only truly be demonstrated through ascii animation, so that’s what they did.
Here’s what a working boat anchor looks like…
[youtube_sc url=OTeFFMWzaQY width=640 height=480]
And here’s what happens when your boat anchor breaks…
[youtube_sc url=WqWjWQu64MI width=640 height=480]
That’s 1 minute 8 seconds total that I’ve sure have changed your life forever.
PS: In case you missed it, the link at the end of both videos points you to UVM-UTest. Yes, there are more details on the uvm_boat_anchor yet to come.