Finally… A Reason For Me to Try Specman

Yes… I know it’s a good tool. People I respect use it and love it. It’s not that I have any specific complaints about Specman, it’s just that I grew up with Vera and SystemVerilog and with the universal support and attention SystemVerilog gets, I’ve never had the urge to try Specman…

…though it seems tool developers at Cadence are trying to change my mind. Continue reading

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.


More AgileSoC? Are You Kidding Me? is an idea that Bryan Morris and I started about 2 years ago after a few long conversations at SNUG San Jose in 2009. Bryan had been interested in agile software development for a while, I was completely new to it. Even though I didn’t know anything about agile, it didn’t take long for me to buy into the idea that it made sense. A lot of what happens in hardware development, particularly in the front-end design and verification, is pretty similar to what the software guys do. Sure the packaging and delivery is different (to varying degrees depending on what your target technology is) but there are a lot of day-to-day activities that are similar. In the last couple years, I’ve heard many people say that agile “makes sense”. I think those people are right.

Admittedly, I have a pretty short span of attention so I was interested to see how long I’d stay interested. I figured 6 months or so and I’d start to wear out. Turns out I was wrong.

We presented our first paper titled A Giant, Baby Step Forward: Agile Techniques for Hardware Design at SNUG Boston in the fall of 2009. That was about 90% book report and 10% practice/observation. It was good for a first crack but I think we did better at SNUG San Jose 2010 with Agile IC Development With Scrum. We have video of both presentations here. In between, I did a presentation to a group of software developers at a Calgary APLN meeting in Nov 2009. That was a little stressful because it was my first time talking to people that know and use agile. Since then we’ve had 2 articles posted in the Mentor Graphics Verification Horizons newsletter, Agile Transformation In IC Development and Agile Transformation In Functional Verification. We’ve also had entries in the Cadence community blogs, a nice write up by Richard Goering and a guest entry that I put together.

Time has passed and we have we’ve been writing articles pretty steadily. It’s been 2 years and if anything, my interest has grown. As of now, we have 17 articles posted on by 4 authors. The number of articles slowly grows as we stumble into new ideas and find the time to put them together.

And now, for some reason, I think I need a blog so I can spend more time on this stuff. I shake my head as I type that but here I am anyway. My first guess is that this will be an informal dumping ground for ideas and/or experiences that aren’t good enough to support “real” articles on their own. Not entirely sure so I’ll start with that and see where things end up!