Last year, the Accellera VIP-TSC spent quite a lot of time (I know, because I was there) defining a standard library to establish interoperability between OVM and VMM. All in all, I think this was a useful exercise, although it did highlight some of the shortcomings of treating a standards committee like a software development team. At the end, users were left with a nice standard that enables OVM users to include legacy VMM components in their environment and vice versa.
Beginning late last year, the TSC decided to move forward with the long-term goal of developing a single “universal” verification methodology (deemed “UVM”) ostensibly to eliminate the “methodology war” between OVM and VMM that some thought might have actually been solved with the Interoperability kit. The TSC voted back in December to use OVM2.0.3 as the starting point for the UVM, a clear indication that not only was the methodology war over, but that OVM had won. Here’s where the questions start.
Shortly after the vote, and before any substantive work had been done in the TSC other than some abstract requirements discussions, Mentor and Cadence released OVM2.1 which included some bug fixes from OVM2.0.3 and provided two new features, callbacks and objections, which just happened to surface in subsequent discussions as two of the more significant requirements for UVM. Since nothing much had been done yet, and 2.1 was already available, I made the suggestion that, instead of locking ourselves into OVM2.0.3, that was already outdated, the TSC should instead use OVM2.1 as the starting point for UVM. I was immediately shouted down for having made an outrageously inappropriate motion. I was told that the TSC had voted on 2.0.3 and that was that. Once callbacks and objections were approved as official requirements, I again suggested that OVM2.1 should be used and was not even allowed to make an official motion to that effect.
Fast-forward to last week (4/7/2010) when the TSC approved using OVM2.1.1 as the starting point for UVM. I’m still waiting for an adequate explanation of why this went from being completely inappropriate to passing overwhelmingly in just a couple of months. Could it be that the initial objections were other than technical? If so, I wonder if the motivation behind them are still there, and it’s just that moving to 2.1.1 was such an obviously good idea that those who objected initially realized that they could no longer shout it down.
For the health of the TSC, and my own sanity, I think I’ll give my colleagues on the committee the benefit of the doubt.