Skip to main content
Log in

Improving Software Performance with Configurable Logic

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

We examine the energy and performance benefits that can be obtained by re-mapping frequently executed loops from a microprocessor to reconfigurable logic. We present a design flow that finds critical software loops automatically and manually re-implements these inconfigurable logic by implementing them in SA-C, a C language variation supportinga dataflow computation model and designed to specify and map DSP applicationsonto reconfigurable logic. We apply this design flow on several examples fromthe MediaBench benchmark suite and report the energy and performance improvements.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Athanas, P., and H. Silverman. Processor Reconfiguration Through Instruction-Set Metamorphosis. Computer, vol. 26 no.3, March 1993 pp. 11–18.

    Google Scholar 

  2. Bohm, W., J. Hammes, B. Draper, M. Chawathe, C. Ross, R. Rinker, and W. Najjar. Mapping a Single Assignment Programming Language to Reconfigurable Systems. Supercomputing, vol. 21, pp. 117–130, 2002.

    Google Scholar 

  3. Bohm, W., B. Draper, W. Najjar, J. Hammes, R. Rinker, M. Chawathe, and C. Ross. One-Step Compilation of Image Processing Applications to FPGAs. In IEEE Symposium on Field-Programmable Custom Computing Machines, Rohnert Park, CA, April 30-May 2, 2001.

  4. Burger, D., T. Austin and S. Bennett. Evaluating Future Microprocessors: The SimpleScalar ToolSet. University of Wisconsin-Madison, Computer Science Department, Technical Report CS-TR-1308, July 1996.

  5. Eles, P., Z. Peng, K. Kuchchinski, and A. Doboli. System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search. Kluwer's Design Automation for Embedded Systems, vol. 2, no.1, pp. 5–32, Jan. 1997.

    Google Scholar 

  6. Givargis, T., F. Vahid, and J. Henkel. System-Level Exploration for Pareto-Optimal Configurations in Parameterized Systems-on-a-Chip. In International Conference on Computer-Aided Design (ICCAD), San Jose, Nov. 2001.

  7. Gokhale, M., and J. Stone. NAPA C: Compiling for Hybrid RISC/FPGA Architectures. In IEEE Symposium on FPGAs for Custom Computing Machines, FCCM'98.

  8. Gonzalez, R. and R. E. Xtensa. A Configurable and Extensible Processor. IEEE Micro, pp. 60–70, 2000.

  9. Grode, J., P. Knudsen, and J. Madsen. Hardware Resource Allocation for Hardware/Software Partitioning in the LYCOS System. In Proc. of the 1998 Design Automation and Test in Europe.

  10. Hammes, J., W.Bohm, C. Ross, M. Chawathe, B. Draper, R. Rinker, and W. Najjar. Loop Fusion and Temporal Common Subexpression Elimination in Window-Based Loops. In IPDPS 8th Reconfigurable Architectures Workshop, San Francisco, CA, April 27, 2001.

  11. Hammes, J., R. Rinker, W. Najjar, and B. Draper. A High-Level, Algorithmic Programming Language and Compiler for Reconfigurable Systems. In The 2nd International Workshop on the Engineering of Reconfigurable Hardware/Software Objects (ENREGLE), part of the 2000 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA), Las Vegas, NV, June 26–29, 2000.

  12. Hauser, J. and J. Wawrzynek. Garp: A MIPS Processor With a Reconfigurable Coprocessor. In IEEE Symposium on FPGAs for Custom Computing Machines, pages 12–21, Napa Valley, CA, April 1997.

  13. Henkel, J., and Y. Li. Energy-Conscious HW/SW-Partitioning of Embedded Systems: A Case Study on an MPEG-2 Encoder. In Proceedings of Sixth International Workshop on Hardware/Software Codesign, March 1998, pp. 23–27.

  14. Henkel, J. A Low Power Hardware/Software Partitioning Approach for Core-Based Embedded Systems. In Proceedings of the 36th ACM/IEEE Conference on Design Automation Conference, pp. 122–127, 1999.

  15. Kalavade, A. and E. A. Lee. The Extended Partitioning Problem: Hardware/Software Mapping, Scheduling and Implementation-Bin Selection. Kluwer Design Automation for Embedded Systems, vol. 2, no.2, pp. 125–163, Mar. 1997.

    Google Scholar 

  16. Kucukcakar, K. An ASIP Design Methodology for Embedded Systems. In International Symposium on Hardware/Software Codesign, May 1999.

  17. Lee, C., M. Potkonjak, and W. H. Mangione-Smith. Media Bench: A Tool for Evaluating and Synthesizing Multimedia and Communications Systems, Proc. 30th Annual International Symposium on Microarchitecture, Dec.1997, pp. 330–335.

  18. MIPS Technologies, Inc. http://www.mips.com.

  19. Schreiber, R. et al. High-Level Synthesis of Nonprogrammable Hardware Accelerators. In Proceedings of the International Conference on Application-Specific Systems, Architectures, and Processors, pp. 113–124, July 2000.

  20. Synplicity, www.synplicity.com/products/synplifypro.html.

  21. Triscend Corporation, http://www.triscend.com.

  22. Villarreal, J., R. Lysecky, S. Cotterell, and F. Vahid. Loop Analysis of Embedded Applications.UC Riverside Technical Report UCR-CSE-01-03, 2001.

  23. Virtex Power Estimator, http://support.xilinx.com/cgi-bin/powerweb.pl.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Villarreal, J., Suresh, D., Stitt, G. et al. Improving Software Performance with Configurable Logic. Design Automation for Embedded Systems 7, 325–339 (2002). https://doi.org/10.1023/A:1020359206122

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1020359206122

Navigation