JL Gray is Vice President of Verilab Inc., an engineering and consulting services company based in Austin. JL recently returned from an extensive trip to Asia, with stops along the way in Shanghai, Taiwan, and Tokyo. In each geography, he conducted instructional seminars to help engineers better understand how to verify their designs.
JL and I spoke by phone after he returned from his trip, per an earlier agreement that he would offer an answer to the latest question in The Mocha Mystery Series. Before you read on, please know that JL is moderating a panel at DAC relevant to this discussion ...
SOC Verification: Are We There Yet?
Q – What is Verification IP?
JL Gray – [Laughing] It seems like an obvious question, perhaps with an obvious answer, but the reality is that Verification IP can be different things to different people.
For companies who sell Verification IP, it means: "Here's what you need to model the interface for PCI-Express, or DDR, etc."
PCI-Express, for instance, perhaps needs a host. If you sell Verification IP to that type of customer, you're going to sell them something like a checking library, some assertions, and a test suite -- all packaged up together.
But in other cases, when people are selling Verification IP, it's something more internal, where the package is not so pretty.
For instance, "Yeah, I have a 10-megabit Ethernet interface, and I know Bob down the hall wrote it. Maybe I can reuse it."
If you're using Bob's assertions and test suite, you're effectively using a form of Verification IP.
Q – It isn't Verification IP if it's internally generated?
JL Gray – A lot of people hear about reusability, but continue to say, "We don't reuse things from one project to the next, or buy things from the outside."
Those are the people who wouldn't refer to Bob's test suite as Verification IP.
Q – So there's internally generated Verification IP that nobody calls VIP, and then there's the commercial variety?
JL Gray – Yes and those distinctions are based on the use model, the quality, and the expectations. There are actually two types of VIP.
First -- the packaged professional version implies someone has tested it, and maybe you're lucky because you're not the first to be trying it out. It comes with support, which is a kind of theoretical distinction.
Q – What would that professional package include?
JL Gray – It all depends. Cadence's Verification IP, for instance, includes automatic compliance verification and is metric driven, so it falls into the metric-driven verification flow.
Some VIP can come with just a bus function model, a BFM, but doesn't include a compliance suite. Say you're building a certain type of design block, and wanted to know if it would actually work in a different system, the Verification IP [associated with that design] might not come with a Verification test suite. You might have to purchase it from somebody else.
Q – It sounds like the definition varies from vendor to vendor.
JL Gray – That's probably true.
If you look at some of the verification methodology from Cadence, for instance, they want to define what the file should include -- documentation, tests that make it run, etc. -- and they actually go ahead and try to specify these things in advance.
But, if you buy something from a company that supports Verilog, VHDL, C++, etc., they will probably come up with their own scheme. Maybe you're using VMM, or OVM, or Vera -- there are so many permutations!
And it's particularly complicated and tricky to be an IP vendor, because you have to deal with all of these things.
Q – Problems with Verification IP overlap with problems with Design IP?
JL Gray – Yeah, it is the same as with Design IP. You might know it's been used successfully, but even then it might not work for you and your specific system. It's very hard to know in advance.
Q – That's bad for me if I'm trying to define Verification IP, but good for you if you're providing services wrapped around VIP?
JL Gray – [Laughing] We have developed some VIP for our customers, and we help our customers understand the various commercial products out there.
Q – You mentioned two types of Verification IP. Define the second type.
JL Gray – It's not so much a completely different type, as much as a sub-type. Something that you're sharing on an ad-hoc basis. It may not have started off as VIP, becuase you've got a manager saying you can't reuse this or that on your project. You say back to the manager, "Okay!"
But, you're actually chuckling and knowing that if you don't call it Verification IP, then you can get away with it.
Of course, that's only if the somebody who made it did a good job packaging it for reuse -- an important distinction!
But even then, you have a lot of real issues to deal with. Maybe it doesn't have the right hooks, or maybe you have the source code, but there's no way to get updates. It's just a Big Mystery Box, without any documentation at all!
Q – If I were a manager facing that reality, I'd insist that my team develop their own verification suite.
JL Gray – Yes, that's an interesting observation, and could be the logical conclusion from my statements here.
For some of the SoC companies, however, you've got 50 things or more that are special and unique. It's your job to stitch them together, and ship it out. At the top level, you're putting a bunch of stuff together and hoping that it works.
Really, how much of this can you do in-house? Eventually, you don't have the resources, or the expertise, or a stable enough interface to get it all done. In that case, VIP is really important!
Q – Let's start again: Is there such a thing as Verification IP?
JL Gray – Yes!
Q – What is Verification IP, in 25 words or less?
JL Gray – [Laughing] You mean, defined in a single tweet?
Verification IP is a piece of testbench infrastructure that has been developed for use on multiple projects.
Q – How much money should I spend on my Verification IP?
JL Gray – That's a very interesting question -- and funny, because a lot of people want things for free!
It's my impression that a lot of companies know there's value in VIP, but depending on the interface and how much it costs, they may or may not decide to develop it in-house.
So, the answer to your question depends on several things: Who is it for, and who is going to use it?
In the end, the correct amount of money is as much as it takes to sleep better at night!