Posted by frank schirrmeister on February 20, 2009
During my last garage cleanup I got rid of most of all the paper copies of my IEEE magazines. The only surviving ones were the IEEE Spectrum January issues, which typically were the analysis and forecast issue for the upcoming year. Since then every January I am reviewing the IEEE spectrum forecast issue from 10 years ago to see how good or bad the predictions actually were. That is quite a fun exercise!
The 1999 IEEE Spectrum January issue shows Superman Clark Kent ripping off his suit and trying to decide whether to use the telephone or Internet booth to change his clothing. The telephone booth shows a classical US telephone, while the Internet booth shows a device with a keyboard screen and a headset attached to it. The underlying text calls out “Internet Technologies” as new challenges and opportunities.
Well, it looks like they got this one right given that at home I am now frequently using Skype connecting to my parents in Germany via video phone, my employer Synopsys is using a VOIP phone network and in general we are facing consolidation in the telecommunication industry. In reviewing the table of contents, electronic design automation had its own section written by Beth Martin. Well, that’s good news, a couple of years later I believe this section dropped from the forecast issue. When checking out the section in more detail, the marked highlights were:
Oh well, 10 years ago we were already talking about higher levels of abstraction and hardware / software co-design. Has it really been that long? In one of the paragraphs at that time executive officer of LSI Logic Corporation, Wilf Corrigan, was quoted that the most pressing need for new EDA tools is a better methodology “to allow software developers to begin software verification more near the same time that chip developers begin to verify the hardware”. So the pressure was there 10 years ago already. The article later claims that the tools of that time were still in their infancy and that users can “presently do hardware software partitioning to prevent design problems that might occur downstream”, but that “the tools available at the time were inadequate, the technology was immature and poorly integrated with tools and methodologies at the RTL level and below.”
It is good to see that we have made significant progress since then, even though it took 10 years. Today’s virtual platforms for example are well-connected with verification flows for RTL, increasingly becoming the entry point for hardware software verification in the design flow.
Given that hardware and software are growing closer together the other interesting portion of the IEEE Spectrum technology forecast issue of 1999 is the software engineering section. Interesting enough, while the EDA section was outlining interfaces to the software world, the software engineering section initially does not talk about hardware and all. The mentioned highlights are:
Ah, I forgot. There was the Y2K doom’s day preparation going on at full swing in 1999. When reading the articulate in more detail, I must revise my original thought that hardware wasn’t mentioned, because the article clearly points out different attempts like Jini to become independent from the hardware on which the software is running on. Operation Systems like Solaris, Mac and Windows (no Linux mentioned!) provided the abstraction layers to let the software be independent from the hardware. Jini at the time was seen as a way of discovering what services are available to applications and the network and how they could be accessed.
Still, the difficulties off debugging at the hardware/software interface are only mentioned when viewing the world from a hardware perspective. It is not clear to me, whether that has really changed over the last 10 years. Today most of the discussions and software engineering seem to be about application software development and even though dependencies on hardware have been steadily growing, the hardware software debug discussion still seems to be largely dominated by hardware engineers.
Overall though, I’m quite relieved that we seem to have made quite some progress since 1999. While the issues of hardware / software co-development, increased software productivity and better hardware / software debug were already visible in 1999, the pressure and need has been growing quite tremendously from there and led to quite some interesting technology developments. More broadly applicable virtual platforms are a great example, as they are used not only for embedded software development but also for verification. We still have some way to go though and are still living in interesting times!
Patrick Sheridan is responsible for Synopsys' system-level solution for virtual prototyping. In addition to his responsibilities at Synopsys, from 2005 through 2011 he served as the Executive Director of the Open SystemC Initiative (now part of the Accellera Systems Initiative). Mr. Sheridan has 30 years of experience in the marketing and business development of high technology hardware and software products for Silicon Valley companies.
Malte Doerper is responsible for driving the software oriented virtual prototyping business at Synopsys. Today he is based in Mountain View, California. Malte also spent over 7 years in Tokyo, Japan, where he led the customer facing program management practice for the Synopsys system-level products. Malte has over 12 years’ experiences in all aspects of system-level design ranging from research, engineering, product management and business development. Malte joined Synopsys through the CoWare acquisition, before CoWare he worked as researcher at the Institute for Integrated Signal Processing Systems at the Aachen University of Technology, Germany.
Tom De Schutter
Tom De Schutter is responsible for driving the physical prototyping business at Synopsys. He joined Synopsys through the acquisition of CoWare where he was the product marketing manager for transaction-level models. Tom has over 10 years of experience in system-level design through different marketing and engineering roles. Before joining the marketing team he led the transaction-level modeling team at CoWare.