Propagating constants past software to hardware peripherals on fixed-application embedded systems

  • Authors:
  • Greg Stitt;Frank Vahid

  • Affiliations:
  • Department of Computer Science and Engineering, University of California, Riverside;Department of Computer Science and Engineering, University of California, Riverside

  • Venue:
  • Compilers and operating systems for low power
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many embedded systems include a microprocessor that executes a single program for the lifetime of the system. These programs often contain constants used to initialize control registers in peripheral hardware components. Now that peripherals are often purchased in intellectual property (core) form and synthesized along with the microprocessor onto a single chip, new optimization opportunities exist. We introduce one such optimization, which involves propagating the initialization constants past the microprocessor to the peripheral, such that synthesis can further propagate the constants inside the peripheral core. While constant propagation in synthesis tools is commonly done, this work illustrates the benefits of recognizing initialization constants from the software as really being constants for hardware. We describe results that demonstrate 2-3 times reductions in peripheral size, and 10-30% savings in power, on several common peripheral examples.