A platform-centric approach to system-on-chip (SOC) design