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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
SUIF Compiler System (2004), http://suif.stanford.edu
Machine-SUIF (2004), http://www.eecs.harvard.edu/hube/research/machsuif.html
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)
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
Holloway, G., Smith, M.D.: Machine-SUIF SUIFvm Library. Division of En-gineering and Applied Sciences, Harvard University (2002)
Holloway, G., Smith, M.D.: Machine SUIF Control Flow Graph Library. Division of Engineering and Applied Sciences, Harvard University (2002)
Holloway, G., Dimock, A.: The Machine SUIF Bit-Vector Data-Flow-Analysis Library. Division of Engineering and Applied Sciences, Harvard University (2002)
Holloway, G.: The Machine-SUIF Static Single Assignment Library. Division of Engineering and Applied Sciences, Harvard University (2002)
SPARK project (2005), http://mesl.ucsd.edu/spark/
SystemC Consortium (2005), http://www.systemc.org
Handel-C Language Overview. Celoxica, Inc. (2004), http://www.celoxica.com
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)
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)
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)
Callahan, T.J., Hauser, J.R., Wawrzynek, J.: The Garp Architecture and C Compiler. IEEE Computer (April 2000)
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)
Budiu, M., Venkataramani, G., Chelcea, T., Goldstein, S.C.: Spatial Computing. In: ASPLOS 2004 (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)