|
||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
|
|
SOC, Codevelopment and The Need for Change John Kenneth Galbraith, the famous American economist, once said "Faced with the choice between changing one's mind and proving that there is no need to do so, almost everybody gets busy on the proof."
As engineers we deal with change every day. We race to employ the latest components in our designs. We're always looking for ways to improve the feature set of our products. On the surface it looks like we embrace change. But do we?
Engineers are looked to as the organizational tool to "get things done." That's our strength. We analyze data, craft solutions to problems and design new products. In fact, we're in such demand that we have precious little time to sit down and think about the real problem at hand: How do we improve the processes we use to design and build our products?
"Do we have a process problem?" you might ask. I think we do and I think the following diagram describes it from the point of view of, at least, the software engineer.
![]() As you can see, this diagram of the typical embedded development process shows our linear approach to the problem. The flaw is the time lost from working alone rather than together. Why does the software team need to wait for the prototype to start integration? The tools are available to eliminate this delay. I think we wait because it requires a change in how we execute embedded projects. The real question is this: Having recognized the problem why haven't we rapidly changed to a better process? A Swedish social psychologist named Klaus Janssen describes a four "room" model that may explain our reticence. ![]() In Janssen's model we continually migrate from room to room at our own pace throughout our lives. The movement from one room is driven by internal perceptions or external events. The "contentment" room is best described as a state of status quo. Any change from this state places us first in the "denial" room where we stay until we own up to the issue that placed us there in the first place. Much like Moore machines, the movement from state to state is a function of both our current state and the required input. It's the "confusion" room that is perhaps the most interesting of the four. Creative activity takes place here as we work to sort out a solution to the problem before moving into "enlightenment." Having solved the problem, we can then move back into contentment. Unfortunately, we are soon driven back through the process as we grapple with the next issue. Is this too simple a model for the complexity of our working lives as engineers? Perhaps, but I think it offers clever insight into the current state of the embedded development process. We've recognized our process is broken; we have gone through denial and we are now in a "confused" state. Both our companies and the tool providers are working to identify a better solution. Tool providers say codevelopment, codesign and coverification are better methods. The problem is that the tools that enable codevelopment, codesign and coverification all require a change in our engineering process. The hardware and software teams must first work together before they can effectively use these tools. Besides our own recognition of the need for change, I think the technology mega-trends will force change upon us. As semiconductor vendors race to keep pace with Moore's law, they deliver silicon capacity adequate to hold an entire embedded system. This System-on-Chip capability will be the catalyst to adopt a better process. The industry leaders are already investigating methods to eliminate the "productivity gap" in their processes to take advantage of the new semiconductor technology. ![]() The tools industry is hard at work, too. New tools and products are arriving every quarter in the form of intellectual property (IP) cores, codevelopment and coverification tools. Just as with the old carpenter's adage "measure twice, cut once," methodology will be just as powerful as tools for improving the quality of our products and maintaining a competitive edge. I often find myself amused by the similarities between art, architecture and engineering. They're all creative and competitive endeavors that take place in a continually changing world. As Bela Bartok, the Hungarian composer describes it; "In art there are only fast and slow developments. Essentially it is a matter of evolution, not revolution." I feel it's the same for engineering and we've now reached the point where teamwork and communication are as important as performance, gate counts and power consumption. Embedded Systems Home | Applications | Chips | Software | Boards | Embedded Java | Feature
|
|||||||||||||||||||||||||||||||||||
|
Copyright © 2003 ChipCenter-QuestLink About ChipCenter-Questlink |
||||||||||||||||||||||||||||||||||||