You Can’t Automate Holistic Verification

For anyone stuck watching #48DAC via twitter (like I was) and presumably to those who were there in person, it was easy to feel that Cadence remains dedicated to the EDA360 vision it released over a year ago.

EDA360 has received a lot of attention. Some good… some bad. Put me in the camp that likes EDA360. I think it was an interesting move for Cadence, to share their view of the future so openly that is, thereby inviting criticism from anyone with a little time on their hands. I don’t mind that some of it qualifies as marketing hype and I don’t mind that it’s not entirely original. After filtering the hype, EDA360 is full of good stuff. I don’t even care if Cadence ends up delivering the vision exactly as stated through a new line of smart tools and by creating a collaborative ecosystem. I’d rather see them set the bar high and miss than the alternative.

But (isn’t there always a ‘but’)… the one section that has bugged me since I read it has been the one that talks about Holistic Verification. I’ve been pondering this for a while. At first, I liked the sound of it. Saying just those 2 words makes me think of a process where a team takes a step back from what they’ve always done so they can retool and rethink how they go about their business. Holistic makes it sound like every option is on the table. With a nice round view of what a team needs to accomplish, teammates build a strategy that is right for them and their product. They then arm themselves with the skills and tools they need to get it done.

To me, that is holistic verification.

The EDA360 view of holistic verification very close, yet very different. From page 24 of EDA360: The Way Forward for Electronic Design:

“Holistic verification—use the best tool for the job. There are many different techniques for digital verification, including simulation, formal verification, and emulation. Approaches to analog simulation range from transistor-level SPICEsimulation to analog behavioral modeling with the Verilog-AMS language. Working with the single goal of verifying the design intent, and utilizing a verification plan, EDA tools [the emphasis here is mine] must choose the best approach for any given phase of the verification process and feed this back to the verification plan. The result is a holistic approach to verification using the most productive methods for each task.”

It’s not too difficult to see where Cadence is going with this. They want to create smarter tools to offload as many monotonous tasks as possible, to allow teams to build test suites that are as comprehensive as possible as quickly as possible. They want to be an enabler for teams looking for more efficient ways to verify designs… which is pretty much every team I know of. I get that. I’m happy to see them (and other EDA vendors) do that. My problem though is the suggestion that “EDA tools must choose the best approach for the job” (I actually had to read it a few different times to realize what I missed at first). The tool driven decision making is something I have a problem with (for anyone that read why I think UVM Is Not A Methodology, that shouldn’t be a surprise).

I automatically question tools posing as solutions and that’s the feeling I get from EDA360 ‘holistic verification’. I hope an EDA360-like evolution is in the cards for the EDA industry as a whole, and I hope it leads to teams being able to automate everything possible save for one thing: thought. I’d prefer EDA companies leave that to their users.

To close, I appreciate Cadence setting the bar high and opening themselves up to public criticism, which at times has turned to ridicule. It was a gutsy move and I hope it pays off for them. I like EDA360, but here’s my bit of constructive criticism: Cadence (and others), please don’t attempt to automate holistic verification. Continue to build great tools, but leave the ‘holistic’ part to your users.

neil