ABSTRACT

System-on-chip (SoC) designs are ubiquitous—they can be found at the core of every cell phone and tablet. SoCs require embedded software in order to perform basic functionality such as booting, power management, and clocking control. The whole design, network-on-chip, and memory subsystem in particular are highly tuned for the desired SoC functionality and performance. SoC design projects face severe time constraints due to ever-present time-to-market pressure. Some of the SoC functionality is unavailable without firmware being present. A case in point is a power management processor that provides software control over switching low power modes for the various SoC modules. Design composition used to be a manual task in which a design engineer assembles the SoC by editing hardware description language files, instantiating intellectual property (IP) blocks, and connecting them to each other. The block-based methodology creates a separation between the team developing the IP block and the team integrating it in a context of an SoC.