Hardware “Software” is not Software “Software”
As EDA and semiconductor communities venture more fully into the realm of software development and applications, they must remember that software has a multitude of meanings.
Suddenly, everyone is talking about software. The great “software” epiphany has been heralded by almost all levels of hardware developers. But are they all referring to the same “software?” For example, do they mean the EDA software that is used to automate the extremely complex task of creating integrated circuits at submicron geometries? Perhaps some are referring to the hardware-intensive embedded firmware drivers that are embedded inside the chip or board. Maybe others mean the operating system that communicates with the high-level systems on the board? Or does software mean the software protocol stacks that are necessary for most of today’s wired and wireless interfaces? Do you suppose they mean the user interfaces or application programs, such as those written for the iPhone? Could it be they are referring to higher-level (non-embedded) desktop or server level applications. Or scripting for the latest Flash or website program?
But even these semantic ponderances are too hardware-focused. Looking from the software side, where open systems and inexpensive apps – like those for the iPhone – are becoming the mainstay, programmers see a different picture. The world of software development – beyond hardware-centric firmware and operating system – is also changing in profound ways. Even the sci-fi community has picked up on this trend (see my interview with Lou Anders).
In the past, hardware-centric companies have not done well in the software world. Most fail to understand the real difference between both hardware-software technology as well as the differing business models that govern each discipline. In addition to these challenges, hardware companies must be diligent in watching trends in both the hardware and software side of the business. This is no easy feat, but success will depend upon their intimate semantic understanding of “software” – be it hardware “software or software “software.”