Are HLS Tools Healthy? The C-Cubed Project
Abstract
The increasing complexity of Application Specific Integrated Circuits (ASICs) and Systems-on-Chip (SoCs) that incorporate custom and standard embedded core IP blocks dictates the need for a new generation of automated and formal system EDA tools and methodologies. High-Level Synthesis (HLS) plays a critical role in the required Electronic System Level (ESL) methodologies. However, most of the available academic and commercial High-Level Synthesis (HLS) tools still do not play an established role in the system and hardware engineering teams. This is true for a number of practical reasons, analyzed and discussed in this work. The present article is a practical perspective of the required fully automated and formal tools, which are needed to constitute integral parts in Electronic Design Automation (EDA) flows. In addition, this article is a useful guide to the system engineer who wants to familiarize with HLS tools and to select the appropriate tool for the everyday engineering practice. The advanced HLS toolset that is analyzed in this paper is developed by the first author, its C-frontend by the second author, and they are both based on formal methods and fully automated techniques, thus they guarantee the correctness of the synthesized hardware implementations. This paper completes with a number of experiments that were executed using the author’s methodology and they are used to evaluate the specific HLS tools. Consequently, a number of conclusions are drawn as well as suggestions for the future directions of HLS technology. In this way, what is practically needed by the hardware systems engineering community is outlined at the end of the paper.
Keywords:
High-Level Synthesis, Formal Methods, EDA, ESL, Hardware Compilers, Digital Hardware DesignDownloads
References
B. Le Gal, E. Casseau, S. Huet, “Dynamic memory access management for High-Performance DSP applications using high-level synthesis”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol. 16, No. 11, pp.1454-1464 , 2008 DOI: https://doi.org/10.1109/TVLSI.2008.2000821
S. Gupta, R. K. Gupta, N. D. Dutt, A. Nikolau, “Coordinated parallelizing compiler optimizations and high-level synthesis”, ACM Transactions on Design Automation of Electronic Systems, Vol. 9, No. 4, pp. 441–470 , 2004 DOI: https://doi.org/10.1145/1027084.1027087
R. A. Walker, S. Chaudhuri, “Introduction to the scheduling problem”, IEEE Design & Test of Computers, Vol. 12, No. 2, pp. 60–69, 1995 DOI: https://doi.org/10.1109/54.386007
M. F. Dossis, “A formal design framework to generate coprocessors with implementation options”, International Journal of Research and Reviews in Computer Science, Vol. 2, No. 4, pp. 929-936, 2011
P. G. Paulin, J. P. Knight, “Force-directed scheduling for the behavioral synthesis of ASICs”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 8, No. 6, pp. 661–679, 1989 DOI: https://doi.org/10.1109/43.31522
U. Nilsson, J. Maluszynski, Logic Programming and Prolog, John Wiley & Sons Ltd., 2nd Edition, 1995
A. A. Kountouris, C. Wolinski, “Efficient scheduling of conditional behaviors for high-level synthesis”, ACM Transactions on Design Automation of Electronic Systems, Vol. 7, No. 3, pp. 380–412, 2002 DOI: https://doi.org/10.1145/567270.567272
A. A. Del Barrio, R. Hermida, S. O. Memik, J. M. Mendias, M. C. Molina, “Multispeculative addition applied to datapath synthesis”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 31, No. 12, pp. 1817-1830, 2012 DOI: https://doi.org/10.1109/TCAD.2012.2208966
O. Sarbishei, K. Radecka, “On the fixed-point accuracy analysis and optimization of polynomial specifications”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 32, No. 6, pp. 831-844, 2013 DOI: https://doi.org/10.1109/TCAD.2013.2238290
A. Morvan, S. Derrien, P. Quinton, “Polyhedral bubble insertion: a method to improve nested loop pipelining for high-level synthesis”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 32, No. 3, pp. 339-352, 2013 DOI: https://doi.org/10.1109/TCAD.2012.2228270
K. Banerjee, C. Karfa, D. Sarkar, C. Mandal, “Verification of code motion techniques using value propagation”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 33, No. 8, pp. 1180-1193, 2014 DOI: https://doi.org/10.1109/TCAD.2014.2314392
R. Sierra, C. Carreras, G. Caffarena, C. A. López Barrio, “A formal method for optimal high-level casting of heterogeneous fixed-point adders and subtractors”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 34, No. 1, pp. 52-62, 2015 DOI: https://doi.org/10.1109/TCAD.2014.2365094
S. Xydis, G. Palermo, V. Zaccaria, C. Silvano, “SPIRIT: spectral-aware pareto iterative refinement optimization for supervised high-level synthesis”, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 34, No. 1, pp. 155-159, 2015 DOI: https://doi.org/10.1109/TCAD.2014.2363392
Downloads
How to Cite
License
Authors who publish with this journal agree to the following terms:
- Authors retain the copyright and grant the journal the right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) after its publication in ETASR with an acknowledgement of its initial publication in this journal.