Electronic design automation (EDA) will change rapidly and dramatically if Gadi Singer, vice president and general manager of Intel's SoC Enabling Group, has his way. In a keynote speech at the Design Automation Conference June 8 titled "The Imminent EDA Transformation," Singer called on the EDA industry to "expand the envelope" and address entire systems, while providing "vertical" tuning and optimization across the complete hardware and software stack.
This was not just another electronic system level (ESL) talk, although ESL is part of the solution. Singer proposed a bold new way of approaching electronic design, one that is very compatible with the EDA360 vision of application-driven design -- in fact, in his keynote, Singer called out the EDA360 vision paper published by Cadence as an "excellent analysis" of trends in the industry. This was also not a ten-years-from-now kind of talk. Singer described design approaches in use at Intel today, in spite of the lack of support from commercial EDA tools.
Singer started his talk by identifying the "compelling user experience" as the driving force behind today's unprecedented pace of innovation. Better silicon enables rather software applications, which creates even more user expectation and demand. "We're in the early stages of this cycle," he said. "There is so much more headroom for silicon to have better power and performance, and for software and applications to take advantage of that."
Emergence of Intelligent Subsystems
Singer works with systems-on-chip (SoCs), and he noted that there's been a "striking transformation" in the composition of SoCs in recent years. Today SoCs consist of multiple subsystems, and each subsystem is highly sophisticated. No longer does all the code run on a central CPU; many subsystems have their own processors and software stacks. "It becomes a system of systems, not just a system," Singer said.
Singer showed a layered diagram that illustrated his view of a "device" and the tool capabilities that support it. Hardware, firmware, and drivers reside at the bottom. These are supported by "silicon modeling and development," the traditional focus of EDA. The rest of the software stack, ranging from operating system to middleware and applications, are supported by a "software development and debug" tool layer just above "silicon modeling and development," and by a "system optimizers" layer that resides on top.
The word "system" has become very loaded, Singer said. "What I'm proposing is that the system is the whole device. It is the space of everything that needs to be tuned together." While the traditional EDA focus is on semiconductors, EDA needs to have an "expanded view, because as designers we need solutions across the whole system," Singer said.
"The industry is definitely thinking about it," Singer said. "If I could call out one, the EDA360 whitepaper from Cadence is an excellent analysis of some of these trends." Singer called for industry cooperation to develop a "holistic approach" that provides "cross-optimized development of the overall system, the software, and the silicon." This could come about through collaboration, standards, or EDA companies expanding beyond their current focus on silicon.
Five Steps to Design Success
Singer introduced five "principles" that he said will help the industry move towards vertically optimized system designs. They are as follows:
- From Experience: Design From the Outside In
- Abstract: Design at the Highest Abstraction
- Co-opt: Co-optimize Across Silicon, Software, System
- Re-iterate: Iterate Early, Iterate Often
- IP Stacks: Package Complete Stacks
A more detailed look is provided below.
1. Design From the Outside In
Let the user experience be the guiding force for the design, Singer said, and pursue silicon and software development in a parallel path. He gave the example of an "instant on" capability for a TV. That requires significant implementation at the systems level and extends down to device drivers and ultimately the states of transistors, "so you have a usage model driving a synergistic design all the way through."
2. Design at the Highest Abstraction
Complexity is increasing so fast that "we absolutely must drive the level of abstraction higher," Singer said. He noted that ESL is a "very effective environment for some uses, and we use it for architectural exploration, for pre-silicon development, and for doing validation of the design. But it is not yet the next [design] entry level." For ESL to become the next design level, Singer said, three things are needed -- "expanded" high-level synthesis, equivalence checking between ESL and RTL, and an engineering change order (ECO) capability that can be fed back to a high-level model.
ESL, Singer noted, is about silicon - it is not a model of the software or the system. "We need to use capabilities familiar in the systems world, and there are system models, but not a lot of EDA companies support these capabilities," Singer said. "We need to increase the abstraction level not only for the silicon, but also for the overall solution around the system."
3. Co-optimize Across Silicon, Software, System
Co-optimization starts with the silicon and its associated firmware and drivers, which Singer sees as "one entity." Optimization then occurs at higher levels of the software stack. "When you do great tuning at just the silicon level, you get 20 to 30 percent," he said. "When you do optimization across the whole stack you can get 3X or 5X or more." This does not mean that the middleware and applications on top of the software stack need to be hard-wired; in fact, they can be modular and retargetable for different devices.
4. Iterate Early, Iterate Often
"This is about having lots of feedback loops starting very early," Singer said. "For those of you familiar with software methodology, it is about agile practices, not waterfall practices. With agile, you assume you have to make iterations, and every time you learn more you make changes. You have learning and validation cycles all through the design." (Note: I wrote about agile SoC development in a previous blog posting).
5. Package Complete Stacks
"We believe IP needs to be delivered with its complete stack, because integration at the system level has to be integration at multiple levels," Singer said. This means hardware IP should come with firmware and drivers, as well as verification suites. It can also come with reference code for higher levels of the software stack. Standards are needed to help IP providers offer collateral at different levels of abstraction, Singer said.
...And Do it Now!
Singer concluded by calling on the industry "to accept new challenges with a sense of urgency. This is not something that is going to come 5 or 10 years from now. This is the way we design our solutions today. This is where we are going. This is where the value is."
Singer told us, in no uncertain terms, where Intel is heading. Will the EDA industry follow?