Part of the  

Chip Design Magazine


About  |  Contact

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.”

2 Responses to “Hardware “Software” is not Software “Software””

  1. Lou Covey Says:

    I think the feud between Adobe and Apple is a perfect illustration of this problem but in reverse. While Apple seems to have set a standard within their own design flow coordinating hardware and software, Adobe doesn’t seem to feel it’s that much of a problem. … or at least not their problem.
    My question is, in the academic world, what’s being done to change the paradigm?

  2. Gary Dare Says:

    JB, I would say that the discussion excludes EDA software itself in the spectrum of code that can be executed on hardware, from ‘bare metal’ drivers and kernels to user-level applications divorced from the platform (e.g.,, to constitute a ‘system’.

    However, getting more interaction between the hardware and software sides has been driven from the hardware-centric EDA side, while software development has been more tolerant of abstraction and lower timing detail (or none, as long as code is executed in proper order). While still frustrated by organization structures at their end customers, hardware and software development tools companies are being driven together because of the nature of new systems being developed for areas like embedded, involving more parallel processing (multicore) where some level of timing information IS required.

Leave a Reply