Efficient Number of Functional Units and Loop Pipeline Design Space Exploration for High-Level Synthesis

Authors

DOI:

https://doi.org/10.5753/jbcs.2025.4912

Keywords:

Design Space Exploration, High-Level Synthesis, Loop, Directives

Abstract

High-level synthesis compilers offer numerous directives for controlling hardware architecture implementations, leading to highly customized solutions, but also to large design spaces that are impractical to be fully explored due to the time-consuming stages of hardware compilation and synthesis. Traditional design space exploration approaches aim to identify architectures with the best hardware resources-performance balance. However, they usually consider the compilation process as a black box, failing to leverage relationships between directives and evaluation metrics to improve their efficiency. This paper analyses the relationship between the "number of functional units" and "loop pipeline" directives, which allow for balancing hardware area and computation time. For the former, we propose a novel path-based method to solve the shortcomings of traditional exploration approaches. For the latter, we propose a novel incremental exploration flow based on a Pareto-frontier evaluation. Results show improvements in exploration speed and quality of hardware designs when compared to established methods.

Downloads

Download data is not yet available.

References

Ali, K., Ben Atitallah, R., Ait El Cadi, A., Fakhfakh, N., and Dekeyser, J.-L. (2019). ViPar: High-Level Design Space Exploration for Parallel Video Processing Architectures. International Journal of Reconfigurable Computing, 2019. DOI: 10.1155/2019/4298013.

Bannwart Perina, A., Becker, J., and Bonato, V. (2019). Lina: Timing-Constrained High-Level Synthesis Performance Estimator for Fast DSE. In 2019 International Conference on Field-Programmable Technology (ICFPT), pages 343-346. DOI: 10.1109/ICFPT47387.2019.00063.

Bannwart Perina, A. and Bonato, V. (2018). Mapping Estimator for OpenCL Heterogeneous Accelerators. In 2018 International Conference on Field-Programmable Technology (FPT), pages 294-297. DOI: 10.1109/FPT.2018.00057.

Belwal, M. and Ramesh, T. (2021). Q-PIR: A quantile based Pareto iterative refinement approach for high-level synthesis. Engineering Science and Technology, an International Journal, page 101078. DOI: 10.1016/j.jestch.2021.11.004.

Canis, A., Brown, S. D., and Anderson, J. H. (2014). Modulo SDC scheduling with recurrence minimization in high-level synthesis. In 2014 24th International Conference on Field Programmable Logic and Applications (FPL), pages 1-8. DOI: 10.1109/FPL.2014.6927490.

Castro-Godínez, J., Mateus-Vargas, J., Shafique, M., and Henkel, J. (2020). AxHLS: design space exploration and high-level synthesis of approximate accelerators using approximate functional units and analytical models. In Proceedings of the 39th International Conference on Computer-Aided Design, ICCAD '20, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/3400302.3415732.

Cong, J., Wei, P., Yu, C. H., and Zhou, P. (2017). Bandwidth Optimization Through On-Chip Memory Restructuring for HLS. In Proceedings of the 54th Annual Design Automation Conference 2017, DAC '17, pages 43:1-43:6, New York, NY, USA. ACM. DOI: 10.1145/3061639.3062208.

da Silva, J. S. and Bampi, S. (2015). Area-oriented iterative method for Design Space Exploration with High-Level Synthesis. In Circuits & Systems (LASCAS), 2015 IEEE 6th Latin American Symposium on, pages 1-4. IEEE, IEEE. DOI: 10.1109/LASCAS.2015.7250447.

de Souza Rosa, L., Bonato, V., and Bouganis, C.-S. (2018a). Scaling Up Loop Pipelining for High-Level Synthesis: A Non-iterative Approach. In 2018 International Conference on Field-Programmable Technology (FPT), pages 62-69. DOI: 10.1109/FPT.2018.00020.

de Souza Rosa, L., Bouganis, C. S., and Bonato, V. (2018b). Scaling Up Modulo Scheduling For High-Level Synthesis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, pages 1-1. DOI: 10.1109/TCAD.2018.2834440.

de Souza Rosa, L., Bouganis, C.-S., and Bonato, V. (2021). Non-iterative SDC modulo scheduling for high-level synthesis. Microprocessors and Microsystems, 86:104334. DOI: 10.1016/j.micpro.2021.104334.

Fernando, S., Wijtvliet, M., Nugteren, C., Kumar, A., and Corporaal, H. (2015). (AS)2: Accelerator Synthesis Using Algorithmic Skeletons for Rapid Design Space Exploration, pages 305-308. DATE '15. EDA Consortium, San Jose, CA, USA. DOI: 10.5555/2755753.2755821.

Ferretti, L., Ansaloni, G., and Pozzi, L. (2018a). Cluster-Based Heuristic for High Level Synthesis Design Space Exploration. In IEEE Transactions on Emerging Topics in Computing, volume PP, pages 1-1. IEEE. DOI: 10.1109/TETC.2018.2794068.

Ferretti, L., Ansaloni, G., and Pozzi, L. (2018b). Lattice-Traversing Design Space Exploration for High Level Synthesis. In 2018 IEEE 36th International Conference on Computer Design (ICCD), pages 210-217. IEEE. DOI: 10.1109/ICCD.2018.00040.

Ferretti, L., Cini, A., Zacharopoulos, G., Alippi, C., and Pozzi, L. (2022). Graph Neural Networks for High-Level Synthesis Design Space Exploration. ACM Trans. Des. Autom. Electron. Syst., 28(2). DOI: 10.1145/3570925.

Ferretti, L., Kwon, J., Ansaloni, G., Guglielmo, G. D., Carloni, L. P., and Pozzi, L. (2020). Leveraging Prior Knowledge for Effective Design-Space Exploration in High-Level Synthesis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 39(11):3736-3747. DOI: 10.1109/TCAD.2020.3012750.

Goswami, P., Schaefer, B. C., and Bhatia, D. (2023). Machine learning based fast and accurate High Level Synthesis design space exploration: From graph to synthesis. Integration, 88:116-124. DOI: 10.1016/j.vlsi.2022.09.006.

Jun, H., Ye, H., Jeong, H., and Chen, D. (2023). AutoScaleDSE: A Scalable Design Space Exploration Engine for High-Level Synthesis. ACM Trans. Reconfigurable Technol. Syst., 16(3). DOI: 10.1145/3572959.

Kachris, C. and Soudris, D. (2016). A survey on reconfigurable accelerators for cloud computing. In 2016 26th International Conference on Field Programmable Logic and Applications (FPL), pages 1-10. DOI: 10.1109/FPL.2016.7577381.

Krishnan, V. and Katkoori, S. (2006). A genetic algorithm for the design space exploration of datapaths during high-level synthesis. IEEE Transactions on Evolutionary Computation, 10(3):213-229. DOI: 10.1109/TEVC.2005.860764.

Kwon, J. and Carloni, L. P. (2020). Transfer Learning for Design-Space Exploration with High-Level Synthesis. In Proceedings of the 2020 ACM/IEEE Workshop on Machine Learning for CAD, MLCAD '20, page 163–168, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/3380446.3430636.

Liao, Y., Adegbija, T., and Lysecky, R. (2023). Efficient system-level design space exploration for high-level synthesis using pareto-optimal subspace pruning. In Proceedings of the 28th Asia and South Pacific Design Automation Conference, ASPDAC '23, page 567–572, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/3566097.3567841.

Mahapatra, A. and Schafer, B. C. (2019). Optimizing RTL to C Abstraction Methodologies to Improve HLS Design Space Exploration. In 2019 IEEE International Symposium on Circuits and Systems (ISCAS), pages 1-5. DOI: 10.1109/ISCAS.2019.8702355.

Meng, P., Althoff, A., Gautier, Q., and Kastner, R. (2016). Adaptive threshold non-pareto elimination: re-thinking machine learning for system level design space exploration on FPGAs, page 918–923. DATE '16. EDA Consortium, San Jose, CA, USA. DOI: 10.3850/9783981537079_0350.

Mishra, V. K. and Sengupta, A. (2014). MO-PSE: Adaptive multi-objective particle swarm optimization based design space exploration in architectural synthesis for application specific processor design. Advances in Engineering Software, 67:111-124. DOI: 10.1016/j.advengsoft.2013.09.001.

Nane, R., Sima, V.-M., Pilato, C., Choi, J., Fort, B., Canis, A., Chen, Y. T., Hsiao, H., Brown, S., Ferrandi, F., et al. (2016). A Survey and Evaluation of FPGA High-Level Synthesis Tools. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 35:1591-1604. DOI: 10.1109/TCAD.2015.2513673.

Nardi, L., Koeplinger, D., and Olukotun, K. (2019). Practical design space exploration. In 2019 IEEE 27th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), pages 347-358. DOI: 10.1109/MASCOTS.2019.00045.

Oppermann, J., Koch, A., Reuter-Oppermann, M., and Sinnen, O. (2016). ILP-based Modulo Scheduling for High-level Synthesis. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems, CASES '16, pages 1:1-1:10, New York, NY, USA. ACM. DOI: 10.1145/2968455.2968512.

Palesi, M. and Givargis, T. (2002). Multi-objective design space exploration using genetic algorithms. In Proceedings of the Tenth International Symposium on Hardware/Software Codesign, CODES '02, page 67–72, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/774789.774804.

Perina, A. B., Becker, J., and Bonato, V. (2019). ProfCounter: Line-Level Cycle Counter for Xilinx OpenCL High-Level Synthesis. In 2019 26th IEEE International Conference on Electronics, Circuits and Systems (ICECS), pages 618-621. DOI: 10.1109/ICECS46596.2019.8964669.

Perina, A. B., Silitonga, A., Becker, J., and Bonato, V. (2021). Fast Resource and Timing Aware Design Optimisation for High-Level Synthesis. IEEE Transactions on Computers, 70(12):2070-2082. DOI: 10.1109/TC.2021.3112260.

Pilato, C., Mantovani, P., Di Guglielmo, G., and Carloni, L. P. (2017). System-Level Optimization of Accelerator Local Memory for Heterogeneous Systems-on-Chip. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 36(3):435-448. DOI: 10.1109/TCAD.2016.2611506.

Pimentel, A. D. (2017). Exploring exploration: A tutorial introduction to embedded systems design space exploration. IEEE Design & Test, 34(1):77-90. DOI: 10.1109/MDAT.2016.2626445.

Prost-Boucle, A., Muller, O., and Rousseau, F. (2014). Fast and standalone Design Space Exploration for High-Level Synthesis under resource constraints. Journal of Systems Architect, 60(1):79-93. DOI: http://dx.doi.org/10.1016/j.sysarc.2013.10.002.

Rajmohan, S. and Ramasubramanian, N. (2020). A Memetic Algorithm-Based Design Space Exploration for Datapath Resource Allocation During High-Level Synthesis. Journal of Circuits, Systems and Computers, 29(01):2050001. DOI: 10.1142/S0218126620500012.

Reyes Fernandez de Bulnes, D., Maldonado, Y., Trujillo, L., and Acacio Sanchez, M. E. (2020). Development of Multiobjective High-Level Synthesis for FPGAs. Sci. Program., 2020. DOI: 10.1155/2020/7095048.

Rosa, L. d. S. (2019). Fast Code Exploration for Pipeline Processing in FPGA Accelerators. DOI: 10.11606/T.55.2019.tde-21082019-143417.

Samanta, A., Hatai, I., and Mal, A. K. (2024). A survey on hardware accelerator design of deep learning for edge devices. Wireless Personal Communications, 137(3):1715–1760. DOI: 10.1007/s11277-024-11443-2.

Schafer, B. C. (2016). Probabilistic Multiknob High-Level Synthesis Design Space Exploration Acceleration. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 35(3):394-406. DOI: 10.1109/TCAD.2015.2472007.

Schafer, B. C. and Wang, Z. (2020). High-Level Synthesis Design Space Exploration: Past, Present, and Future. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 39(10):2628-2639. DOI: 10.1109/TCAD.2019.2943570.

Siracusa, M., Delsozzo, E., Rabozzi, M., Di Tucci, L., Williams, S., Sciuto, D., and Santambrogio, M. D. (2021). A Comprehensive Methodology to Optimize FPGA Designs via the Roofline Model. IEEE Transactions on Computers, pages 1-1. DOI: 10.1109/TC.2021.3111761.

Wang, Z., Chen, J., and Schafer, B. C. (2020). Efficient and Robust High-Level Synthesis Design Space Exploration through offline Micro-kernels Pre-characterization. In 2020 Design, Automation Test in Europe Conference Exhibition (DATE), pages 145-150. DOI: 10.23919/DATE48585.2020.9116309.

Wang, Z. and Schafer, B. C. (2022). Learning from the Past: Efficient High-level Synthesis Design Space Exploration for FPGAs. ACM Trans. Des. Autom. Electron. Syst., 27(4). DOI: 10.1145/3495531.

Wu, N., Xie, Y., and Hao, C. (2021). Ironman: Gnn-assisted design space exploration in high-level synthesis via reinforcement learning. In Proceedings of the 2021 Great Lakes Symposium on VLSI, GLSVLSI '21, page 39–44, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/3453688.3461495.

Wu, N., Xie, Y., and Hao, C. (2023). Ironman-pro: Multiobjective design space exploration in hls via reinforcement learning and graph neural network-based modeling. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 42(3):900-913. DOI: 10.1109/TCAD.2022.3185540.

Xydis, S., Palermo, G., Zaccaria, V., and Silvano, C. (2015). SPIRIT: Spectral-Aware Pareto Iterative Refinement Optimization for Supervised High-Level Synthesis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34:155-159. DOI: 10.1109/TCAD.2014.2363392.

Zhong, G., Prakash, A., Wang, S., Liang, Y., Mitra, T., and Niar, S. (2017). Design Space exploration of FPGA-based accelerators with multi-level parallelism. In Design, Automation Test in Europe Conference Exhibition (DATE), 2017, pages 1141-1146. DOI: 10.23919/DATE.2017.7927161.

Zuo, W., Kemmerer, W., Lim, J. B., Pouchet, L.-N., Ayupov, A., Kim, T., Han, K., and Chen, D. (2015). A polyhedral-based SystemC modeling and generation framework for effective low-power design space exploration. In 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pages 357-364. DOI: 10.1109/ICCAD.2015.7372592.

Ščap, D., Hoić, M., and Jokić, A. (2013). Determination of the Pareto frontier for multiobjective optimization problem. Transactions of FAMENA, 37(2):15-28. Available at: [link].

Downloads

Published

2025-08-05

How to Cite

Rosa, L. de S., Bouganis, C.-S., & Bonato, V. (2025). Efficient Number of Functional Units and Loop Pipeline Design Space Exploration for High-Level Synthesis. Journal of the Brazilian Computer Society, 31(1), 570–582. https://doi.org/10.5753/jbcs.2025.4912

Issue

Section

Articles