An approach for integrating basic retiming and software pipelining

  • Authors:
  • Noureddine Chabini;Wayne Wolf

  • Affiliations:
  • Royal Military College of Canada, Kingston, ON, Canada;Princeton University, Princeton, NJ

  • Venue:
  • Proceedings of the 4th ACM international conference on Embedded software
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Basic retiming is an algorithm originally developed for hardware optimization. Software pipelining is a technique proposed to increase instruction-level parallelism for parallel processors. In this paper, we show that applying software pipelining alone for minimizing timings under resource constraints can lead to sub-optimal results, compared to the case if an unification of basic retiming and software pipelining is used. We propose an approach to realize this unification. The approach allows to minimize the code size of the optimized loop as well as minimizing the idleness of computational elements. We extend this approach to solve the problem of minimizing peak power consumption for time-constrained and resource-constrained software pipelined loops. Solving these problems is important for portable embedded systems as well as system-on-chip design. The approaches are tested using known benchmarks. On average, relative timing improvement is 60.19%, and relative reduction of peak power consumption is 13.17% without any trade-off in timings.