The only thing preventing widespread use of multicore ICs are the tools to design them. In fact, the challenge facing the electronics industry today is not chip architectural considerations--it’s finding a way to design cheaper, faster, more power-efficient, and reliable chips that drive consumer electronics. And when we do, we’ll see exciting changes in electronics system design.
The move from uni-core to multi-core design is driven by power and clock speed limitations and software-enabled product flexibility, creating demand for a new methodology that includes various hardware, software, architecture, and verification specializations. This, in turn, requires new, more innovative thinking about design and verification across multiple specializations, unlike anything that either the EDA or embedded software communities have faced before. These designs require much more sophisticated software than either has ever produced.
While this suggests great discontinuity in the electronics industry short term, it offers a tremendous long-term opportunity for those willing to seize it. As the industry moves forward, multi-core ICs will be designed and programmed in a unified systems design automation approach in which hardware and software technologies and design processes are combined in a seamless development environment.
This means a sea change in attitude as well, as software programmers find that their existing tools do not work for the new class of multi-core chips. They can no longer wait for the chip to debug the software because the chip is the software. And, the accepted notion that a C compiler with free GCC and GDB tools works fine for a single-processor design won’t work for multi-core design. The days of low-cost software programming tools are coming to an end.
Hardware designers need an attitude adjustment as well. But first, the average price per seat for their tools is about $150,000, which is what software programmers will soon be paying.
Hardware designers have had a collection of production-worthy design tools for many years, but none work well for software design. The methodology starts with a specification in a design language and includes formal verification and simulation for showing design correctness, and then synthesis tools to get from these high level (RTL) designs to implement the design. Also available in abundance are sophisticated hardware and software debug tools. All will soon be required to have inherent knowledge of software design.
Providing a new methodology is the next great challenge, particularly with the need to cross traditional industry boundaries and attitudes between EDA and embedded software. When a multi-core IC design team can apply functionality across a range of processors, successfully debug and validate software and hardware simultaneously, this new design paradigm will yield significant benefits for all.