As the market moves from 65nm- to 45nm-based SoCs and beyond towards full system-level design and development, we must be extremely careful not to let hardware and software development continue on such disjointed paths. We must leverage many of today's proven verification process automation capabilities for hardware testing and apply them towards the next-generation hardware/software design and implementation processes.
Just about everything in the trade press these days points to coming system-level complexities and the tremendous pressures on the design and verification of SoCs and full systems. Costs to develop these multiprocessor SoCs or full systems driving the latest consumer products will rise sharply, and include multiple blocks and interconnects that need testing. The percentage of software included in these systems will continue to skyrocket, making it even more critical that hardware and software development come together in an automated fashion. These opportunities and product introductions that high tech companies are pursuing in the semiconductor, wireless, and consumer markets include high levels of risk and simply cannot afford any system-level failure, delays, or recalls.
These market pressures greatly increase the need for enterprise-wide design and verification solutions that link together and manage the entire hardware, software, system integration, and validation processes. Extended development teams from around the world have to embrace new ways of working together that feature interdependencies between verification, power management, test, and physical design. Concurrent management of previously sequential processes isolated across many specialists will become the accepted norm rather than the exception. Changes like these will bring a model to ESL and EDA that embraces enterprise-wide thinking that has become so successful in other markets, and dramatically change the way SoCs and full systems are introduced to market.
If this is all going to take place as described, it will take leading-edge companies with the experience and breadth to partner with customers and manage such a transition. Issues like determining how to design and verify hardware and software together illustrates one good example of this enterprise-wide thinking. While hardware verification has made tremendous advances because of targeted languages and methodologies, software verification has lagged behind, resulting in more and more system-level failures. These oversights in the verification of embedded software within the system are becoming increasingly costly and need to be addressed. No longer can we rely on exhaustive hardware verification that limits software execution within the system to running tests after the hardware has been signed off. Or basically limit software testing within the context of the system because the schedule demands that the design goes to fabrication which adds huge risk and is no longer acceptable.
In most cases we see that downstream consumers take the brunt of this broken process. From home entertainment devices to cell phones to game consoles, more and more errors are showing up in these systems because of overlooked corner case bugs occurring between hardware and software interactions. Consumers are essentially becoming the "guinea pigs" for these devices and don't have any way to debug these issues.
Typically these failures are minor inconveniences, but they can become serious and, from a business perspective, lead to interruptions in product delivery and market devastation. If a major player in the gaming console business finds out that they have a serious bug in their soon to be shipped system, they are going to be staring at damage in the form of respins and market timing issues and possibly even recalls. What may even be worse or catastrophic is when these system-level errors show up in devices that people truly depend on, such as automobiles, airplanes, or even health monitoring devices " problems no one wants to face.
System architects, designers and especially verification engineers should all be working towards improving quality by exposing these software bugs being overlooked. It is no longer prudent to continue down the same path of undervaluing software verification within the entire system. We need to tap into this large software market, introduce proven automation capabilities, and, ultimately, move embedded software from a mode of execution and inspection to one of fully incorporated verification. That means bringing software development into the project-level process and stressing it within the system, including measuring against the initial plan, managing the progress, and measuring all the results such as the various forms of coverage. The result is an inclusive enterprise system-level solution at the project level which span every specialist working on the entire system from initial plan to full system-level closure.
About the Author:
Moshe Gavrielov is the executive vice president and general manager of the Verification Division at Cadence Design Systems, Inc.