A View from the Top: A Virtual Prototyping Blog

 

Back to the Future

IEEE Spectrum 1999 Cover 

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:

  • Design moves to a higher level of abstraction
  • Design reuse ramps up slowly
  • Hardware, software join hands early on
  • EDA casts a wide business net

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:

  • Sun battles to keep control of Java
  • Jini offers magical networking solutions
  • Web standards need support
  • The world waits for the year 2000

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!

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS