Initial Presentation slides: Softening.ppt

Embedded software is a preferred choice for implementing system functionality in modern System-on-Chip (SoC) designs, due to the high flexibility,

 and lower engineering costs provided by a software-based approach. With continuous improvements in embedded processor performance, many system functions,

 which have traditionally been implemented using dedicated hardware (such as those with real-time performance requirements), are becoming potential candidates

for software implementation. For complex SoCs containing many different components, identifying such functions (or hardware blocks), and re-implementing

 them as embedded software, is a labor-intensive, manual, and error-prone process. In addition, the task of replacing hardware modules by equivalent embedded

 software places significant burden on the designer to ensure that performance goals are satisfied. We present techniques for the automatic

transformation of behaviors of selected hardware blocks into equivalent software implementations. In particular, we describe a

 methodology for “softening” of SoC hardware, that takes as input, a partitioned and mapped system description, and generates a modified

system architecture in which the fraction of system functionality implemented using embedded software is significantly boosted.

Application of this methodology to an IEEE 802.11 MAC subsystem design demonstrates that it can be used to  efficiently identify target blocks for

 softening, and automatically generate new, “softened” system architectures, that yield large reductions in hardware complexity,

 while satisfying performance requirements.