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

  • Betul Buyukkurt
  • Zhi Guo
  • Walid A. Najjar
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3985)


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.


Clock Frequency Clock Speed Control Flow Graph Loop Transformation Loop Unroll 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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)CrossRefGoogle Scholar
  3. 3.
    SUIF Compiler System (2004),
  4. 4.
  5. 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. 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 UniversityGoogle Scholar
  7. 7.
    Holloway, G., Smith, M.D.: Machine-SUIF SUIFvm Library. Division of En-gineering and Applied Sciences, Harvard University (2002)Google Scholar
  8. 8.
    Holloway, G., Smith, M.D.: Machine SUIF Control Flow Graph Library. Division of Engineering and Applied Sciences, Harvard University (2002)Google Scholar
  9. 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. 10.
    Holloway, G.: The Machine-SUIF Static Single Assignment Library. Division of Engineering and Applied Sciences, Harvard University (2002)Google Scholar
  11. 11.
    SPARK project (2005),
  12. 12.
    SystemC Consortium (2005),
  13. 13.
    Handel-C Language Overview. Celoxica, Inc. (2004),
  14. 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. 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. 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)CrossRefGoogle Scholar
  17. 17.
    Callahan, T.J., Hauser, J.R., Wawrzynek, J.: The Garp Architecture and C Compiler. IEEE Computer (April 2000)Google Scholar
  18. 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. 19.
    Budiu, M., Venkataramani, G., Chelcea, T., Goldstein, S.C.: Spatial Computing. In: ASPLOS 2004 (2004)Google Scholar
  20. 20.

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Betul Buyukkurt
    • 1
  • Zhi Guo
    • 1
  • Walid A. Najjar
    • 1
  1. 1.Department of Computer Science and EngineeringUniversity of California – RiversideRiversideUSA

Personalised recommendations