Are HLS Tools Healthy? The C-Cubed Project

M. Dossis, G. Dimitriou

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 Design

Full Text:

PDF

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

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

R. A. Walker, S. Chaudhuri, “Introduction to the scheduling problem”, IEEE Design & Test of Computers, Vol. 12, No. 2, pp. 60–69, 1995

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

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

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

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

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

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

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

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




eISSN: 1792-8036     pISSN: 2241-4487