In modern complex Systems-on-Chip (SoC), software as an integral part of the SoC is gaining more and more importance. With increasing SoC complexity, SoC designers are facing an increasing complexity in the system's architecture other than the HW issues alone. The intricacy of the software needed to run on such devices is increasing tremendously as well.
The challenges regarding design flow, design automation and verification cannot be solved looking to the HW aspects of the design alone.
There is a big need for SoC designers to understand both their classical - the HW - world, and the world of Embedded Software as well. Particular attention needs to be paid on questions like:
- How to deal with IP reuse that is composed of HW and SW.
- How does SW affect the design flow.
- How to enable portability across hardware platforms, different application domains, and so forth.
This paper introduces Embedded Software for SoC and EDA designers, and tries to raise their awareness on software issues they are directly impacted by. However, both classical HW designers and Embedded Software designers have a lot to teach each other, therefore mutual understanding is crucial for solving the SoC design challenges
In the last part of this paper, the concept of Hardware Dependent Software (HdS) is introduced, and how HdS can help to solve some of the issues mentioned before.