Semico Research estimates that over 50 IP cores are present on average in SoCs being developed today. As a result, more SoCs contain distributed computing, multicore architectures. These topologies are making it increasingly difficult to manage power, security, error-recovery and even boot sequencing. No one IP core can easily be given enough accessibility and control to manage the other cores without complicating the architecture. And with many software operating systems and applications on the single SoC, synchronizing their states with their support hardware is also becoming complex.
Solutions designed in-house often result in adding some combination of extra logic and additional software development to manage the system tasks. These solutions are often designed and tested specifically for the SoC configuration. As complexities grow, significant cost and verification risks are now escalating from the need to redesign and re-verify these solutions for each new chip development project.
SSM represents a unique “subsystem” alternative which decouples the system management from the specific design, promoting high reuse and faster hardware-software integration. SSM creates virtualization in the SoC architecture.
Hardware level virtualization comes from SSM’s ability to operate as a self contained unit independent from the other SoC components. SSM connects to the other IP cores using a simple hardware bus scheme. SSM utilizes commands sent to it by any source to execute the necessary signal level transitions that change an IP cores’ operation state. Software virtualization comes from SSMs ability to synchronize software and hardware states as it is performing the hardware level tasks. SSM provides API’s and a kernel which is hosted on SSMs hardware core. Drivers are connected to other software on the SoC, which communicates the status of the hardware state changes. SSM can also take command directives directly from the software through the drivers.
Says Rich Wawryzniak, Senior Analyst, Semico Research, “Virtualizing system management using a subsystem approach creates real economies when measuring the development costs for complex SoCs. Since these costs are multiplying from both hardware and software complexity growth, the need for modular SoC architectures that effects both hardware and software development dictates the need for these subsystems.”