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.