Skip to main content

Impact of Loop Unrolling on Area, Throughput and Clock Frequency in ROCCC: C to VHDL Compiler for FPGAs

  • Conference paper
Reconfigurable Computing: Architectures and Applications (ARC 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3985))

Included in the following conference series:

Abstract

Loop unrolling is the main compiler technique that allows reconfigurable architectures achieve large degrees of parallelism. However, loop unrolling increases the area and can potentially have a negative impact on clock cycle time. In most embedded applications, the critical parameter is the throughput. Loop unrolling can therefore have contradictory effects on the throughput. As a consequence there exists, in general, a degree of unrolling that maximizes the throughput per unit area.

This paper studies the effect of loop unrolling on the area, clock speed and throughput within the ROCCC, C to VHDL compilation framework. Our results indicate that due to the unique design of the ROCCC compilation framework, FPGA area either shrinks or increases at a very low rate for the first few times the loops are unrolled. This reduced area causes the clock cycle time to decrease and thus a great gain in throughput. Our results also show that there are different optimal unrolling factors for different programs.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Crowe, F., Daly, A., Kerins, T., Marnane, W.: Single-Chip FPGA Implementation of a Cryptographic Co-Processor. In: International Conference on Field Programmable Technology, Brisbane (December 2004)

    Google Scholar 

  2. Park, J., Diniz, P.C., Shayee, K.R.S.: Performance and Area Modeling of Complete FPGA Designs in the Presence of Loop Transformations. IEEE Transactions on Computers 53(11), 1420–1435 (2004)

    Article  Google Scholar 

  3. SUIF Compiler System (2004), http://suif.stanford.edu

  4. Machine-SUIF (2004), http://www.eecs.harvard.edu/hube/research/machsuif.html

  5. Guo, Z., Najjar, W., Vahid, F., Vissers, K.: A Quantitative Analysis of the Speedup Factors of FPGAs over Processors. In: Symp. on Field-Programmable gate Arrays (FPGA), Monterrey, CA (February 2004)

    Google Scholar 

  6. Smith, M.D., Holloway, G.: An introduction to Machine SUIF and its portable libraries for analysis and optimization. Division of Engineering and Applied Sciences, Harvard University

    Google Scholar 

  7. Holloway, G., Smith, M.D.: Machine-SUIF SUIFvm Library. Division of En-gineering and Applied Sciences, Harvard University (2002)

    Google Scholar 

  8. Holloway, G., Smith, M.D.: Machine SUIF Control Flow Graph Library. Division of Engineering and Applied Sciences, Harvard University (2002)

    Google Scholar 

  9. Holloway, G., Dimock, A.: The Machine SUIF Bit-Vector Data-Flow-Analysis Library. Division of Engineering and Applied Sciences, Harvard University (2002)

    Google Scholar 

  10. Holloway, G.: The Machine-SUIF Static Single Assignment Library. Division of Engineering and Applied Sciences, Harvard University (2002)

    Google Scholar 

  11. SPARK project (2005), http://mesl.ucsd.edu/spark/

  12. SystemC Consortium (2005), http://www.systemc.org

  13. Handel-C Language Overview. Celoxica, Inc. (2004), http://www.celoxica.com

  14. Najjar, W., Bohm, W., Draper, B., Hammes, J., Rinker, R., Beveridge, R., Cha-wathe, M., Ross, C.: From Algorithms to Hardware - A High-Level Language Ab-straction for Reconfigurable Computing. IEEE Computer, Los Alamitos (August 2003)

    Google Scholar 

  15. Gokhale, M.B., Stone, J.M., Arnold, J., Lalinowski, M.: Stream-oriented FPGA computing in the Streams-C high level language. In: IEEE Symp. on FPGAs for Custom Computing Machines (FCCM) (2000)

    Google Scholar 

  16. Diniz, P., Hall Park, M., Park, J., So, B., Ziegler, H.: Bridging the Gap between Compilation and Synthesis in the DEFACTO System. In: Dietz, H.G. (ed.) LCPC 2001. LNCS, vol. 2624. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  17. Callahan, T.J., Hauser, J.R., Wawrzynek, J.: The Garp Architecture and C Compiler. IEEE Computer (April 2000)

    Google Scholar 

  18. Guo, Z., Buyukkurt, A.B., Najjar, W.: Input Data Reuse In Compiling Window Operations Onto Reconfigurable Hardware. In: Proc. ACM Symp. On Languages, Compilers and Tools for Embedded Systems (LCTES 2004), Washington DC (June 2004)

    Google Scholar 

  19. Budiu, M., Venkataramani, G., Chelcea, T., Goldstein, S.C.: Spatial Computing. In: ASPLOS 2004 (2004)

    Google Scholar 

  20. http://www.mentor.com/products/c-based_design/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Buyukkurt, B., Guo, Z., Najjar, W.A. (2006). Impact of Loop Unrolling on Area, Throughput and Clock Frequency in ROCCC: C to VHDL Compiler for FPGAs. In: Bertels, K., Cardoso, J.M.P., Vassiliadis, S. (eds) Reconfigurable Computing: Architectures and Applications. ARC 2006. Lecture Notes in Computer Science, vol 3985. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11802839_48

Download citation

  • DOI: https://doi.org/10.1007/11802839_48

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-36708-6

  • Online ISBN: 978-3-540-36863-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics