Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
A first-step towards an architecture tuning methodology for low power
CASES '00 Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems
Introducing Core-Based System Design
IEEE Design & Test
Hi-index | 0.00 |
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.