Sign In
Forgot Password?
Sign In | | Create Account

Whose job is it, anyway?

Russ Klein

Russ Klein

Posted Aug 31, 2009
2 Comments

The inspiration for this week’s blog entry comes from a comment left by Jason Andrews from Cadence. Jason is an all around good guy who has been working this area of hardware and software for quite a few years, too. Here’s a link to his blog over in Cadence-land – Jason Andrew’s Blog.

Anyway, Jason pointed out that the EDA companies need to get with the program and realize that software is a part of the product that their customers deliver. And he’s right. (Although, if you listen to what Aart, Wally, and the executives from Cadence are saying, there is some recognition of a problem here.) But, it’s not just the EDA companies that need to make this connection. There are folks in the design community who need to wake up to this reality, too.

Since I work with both hardware and software folks, I keep up with what’s going on in both worlds. I try to go to the big conferences for both hardware and software developers. On the hardware side this is the Design Automation Conference (DAC) and DVCon. On the software it is the Embedded Systems Conferences (ESC).

Recently at DAC, I was talking with a hardware developer. I was explaining to him the benefits of Seamless, one of the products that I work on. One of the key value points for Seamless is that it ensures that the hardware/software integration time will be minimized. Essentially, it allows the software developer to exercise their code against the hardware before it is built. This averts lots of nasty surprises when the software guys get their hands on a prototype.

The hardware developer, we’ll call him Mr. H, was unimpressed. He kinda shrugged. I was curious about this reaction, so I asked him what he thought. He said that it wasn’t really his job to make sure that software could run on the hardware. If the software guys can’t get things to run, that’s really their issue – not his. But he thought that the software team should really see a demo of Seamless, since they really do have a lot of trouble getting things running once they get their hands on a prototype board. He thought something like Seamless would really help them out.

This reminded me of a conversation I had at ESC last Spring. I was explaining how Seamless works to a software developer; we’ll call him Mr. S. Mr. S nodded a lot and thought it was a pretty good tool. But, he didn’t think he could use it. He never gets access to the hardware design early on. Even if he did, he wouldn’t know what to do with it.

“You should really show this to our hardware team,” he told me enthusiastically. “We take a long time to get hardware and software integrated, usually because of problems in the hardware. If they could use something like Seamless, I think it would help them a lot.” He explained to me that it wasn’t his job to make sure that the hardware was built right. “If they screw up the hardware design, it makes the project late – but there’s not much I can do about that.”

Both Mr. S and Mr. H are right, of course. They have been hired to perform a specific task in the development of an embedded system. It’s enough for most of us to accomplish the tasks we’ve been assigned by our employer – let alone take on other person’s work, even if that work has not been assigned to anyone. While it’s nice (for his employer) that Mr. H worries about the software guys, it’s also nice that Mr. S worries about the hardware development. However, until management makes it a requirement – part of their jobs – integrating hardware and software will be an afterthought in the design process.

The real problem is that if neither Mr. S nor Mr. H take on the task of getting hardware and software to work together, it doesn’t get done…and then it gets left to the end of the project. We’ve all seen the studies that show how the costs to fix problems increase exponentially as they are found later in the design cycle.

There are a lot of folks in the industry that have seen a problem here. But, 75 to 80 percent of all embedded systems are delivered late; and almost half do not meet their performance goals (according to a 2009 survey done by Embedded Market Forecasters). These numbers have not budged in the last decade that I’ve been reading this survey. If you want to start improving the outcome of these projects, one of the areas that you’ll need to look at is getting hardware and software integrated earlier.

Seamless, DVCon

More Blog Posts

About Russ Klein

Russ KleinI’m an engineering manager here at Mentor Graphics in charge of the Seamless and Codelink products. These products bring together the worlds of hardware and software. So I need to think like a hardware developer and a software developer – at the same time. And sometimes that makes my head hurt. These are my observations, rants, and openly biased commentary on processors, embedded systems development, and the EDA industry. Visit Russ Klein's Blog

More Posts by Russ Klein

Comments 2

Post a Comment
Russ, This has been the same comment made for the last 12 years regarding Co-Verification. I used to hear that "show it to the hw guyss" or "show it to the sw team" comment all the time when I worked for Summit Design and we were expressing the value of VCPU(another co-verification product). Ironically enough, I did a lot of work with Jason Andrews as he was a Simulation Technology/Summit Design Guy supporting VCPU back in the late 90's. Maybe in the coming decade we can finally get these HW and SW guys to agree that its "all our problem"? Regards, Mark

Mark Dietrich
3:03 PM Sep 2, 2009

Mark, good to hear from you again after all these years. I think the solution is a new type of person whose job it is to make the hardware and software work together. Mr. H and Mr. S don't have the skills so they push it off on somebody else. In my 2004 book I called for the creation of a person called a "co-verification engineer". More recently, I wrote about the need to have separate verification engineers for embedded software just like we have separate verification engineers for hardware. http://www.cadence.com/Community/blogs/sd/archive/2008/07/16/is-anybody-out-there-a-software-verification-engineer.aspx

Jason
1:42 PM Sep 15, 2009

Add Your Comment

Please complete the following information to comment or sign in.

(Your email will not be published)

Archives

 
Online Chat