A visit to the recent Embedded Systems Conference confirmed my view that, with a few exceptions, hardware and software design remain separate worlds. The time will come when a very different approach is needed, but who will provide it?
At the Embedded Systems Conference, there was plenty of talk about embedded Linux, new real-time operating system kernels, support for the open-source Eclipse framework, debuggers for existing multicore platforms and ever-expanding tool support for processors. Well and good, but most of those developments are for today's hardware platforms, not for the huge multicore embedded systems of tomorrow.
Meanwhile, if you look at the International Technology Roadmap for Semiconductors (ITRS) design section, you will see a chart that shows a "concurrent software compiler" as one of the next big developments that will be needed in design technology. Such a compiler will be needed for future multicore devices, which may have hundreds of processors of varying types. At that point, the C language may no longer work, but nobody seems to know what will.
I left the conference wondering who is going to supply the next generation of embedded system development tools. Who will provide the modeling tools and languages needed for the next decade? Who will develop whatever comes after C? Who will come up with the concurrent software compiler cited by the ITRS?
The embedded software development industry is relatively small and fragmented, with little knowledge of hardware. EDA vendors appear mostly uninterested in software development, which historically has low average selling prices. Virtual platform offerings from CoWare, Vast, Virtio and Virtutech are one of the few bridges between the hardware and software worlds, but far more is needed.
There's a billion-dollar marketplace waiting out there somewhere. Who wants it?
Richard Goering (rgoering@cmp.
com) is editorial director of design automation for EE Times