Semiconductor IP News and Trends Blog
What Is Hardware–Software Integration?
The left-hand side of the systems-engineering Vee-diagram is where hardware and software subsystems really come together. But in what context?
What do you think of when someone says “hardware and software integration?” Most engineers probably think of hardware-software integration in terms of embedded systems (e.g., microprocessor system design and verification involving the computer architecture, operating systems, interfaces, and computer networks). “Co-verification” is a popular phrase that captures many integration issues. But there are other examples of such integration in both horizontal and vertical (e.g., automotive) markets.
At a higher level of abstraction, embedded systems become part of client-server-based network systems. Here, board-level embedded hardware becomes a subsystem to modules and larger packages. Firmware and operating systems (OSs) become secondary to network operating systems, middleware, and applications (OSI layered software).
On the other hand, if we decompose the hardware-software paradigm below the embedded level, we find system-on-a-chip (SoC) devices complete with a different set of hardware and software subsystems. This is the realm of EDA tools, IP verification reuse, and chip design/verification in general (e.g., EDA 360 and other variations).
What do all of these “systems” – chip, (embedded) board, and network – have in common, particularly in the verification phase? How are they different from a purely hardware-hardware and software-software integration? I have my own ideas, which have become part of my hardware-software integration course at Portland State University. But I want to get your inputs. Please send me your thoughts: firstname.lastname@example.org. Cheers. – John