Software has till recently been a low-priority area while designing an SoC. The basic requirements for a chip design were all hardware-centric - power, performance and area. Software compatibility was an afterthought and the software development cycle started only very late in the design flow once the prototypes started coming out.
How times have changed! These days, the first question that is asked to an IC vendor aiming to 'socketize' his chip in the board is
"Will ABC software run on this chip?"
SoC vendors have realized that Software-centric metrics - compatibility and performance are the factors that dictate what kind of hardware is to be designed.
This represents a paradigm shift in traditional SoC design flow.
What are your views on this?