Abstract
High-level synthesis promises significant shortening of the design cycle compared to a design entry at RTL. However, many high-level synthesis implementations require extensive code alterations to ensure synthesisability and to achieve a quality of results comparable to handwritten RTL designs. These are especially important for programs with ‘irregular control flow’ and ‘complicated data dependencies’. In this chapter, we describe these terms in detail and elaborate on their implications for efficient high-level synthesis within the scope of a case study.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
T. Kanungo, D. Mount, N. Netanyahu, C. Piatko, R. Silverman, A. Wu, An efficient K-means clustering algorithm: analysis and implementation. IEEE Trans. Pattern Anal. Mach. Intell. 24(7), 881–892 (2002)
W. Meeus, K. Van Beeck, T. Goedemé, J. Meel, D. Stroobandt, An overview of todays high-level synthesis tools. Des. Autom. Emb. Syst., pp. 1–21 (2012)
Sobel Edge Detector. http://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm. Accessed 13 Mar 2016
S. Sarkar, S. Dabral, P. Tiwari, R. Mitra, Lessons and experiences with high-level synthesis. IEEE Des. Test Comput. 26(4), 34–45 (2009)
BDTI, An Independent Evaluation of the AutoESL AutoPilot High-Level Synthesis Tool (2010). http://www.bdti.com/Resources/BenchmarkResults/HLSTCP/AutoPilot. Accessed 10 Oct 2012
R. Nane, V.-M. Sima, C. Pilato, J. Choi, B. Fort, A. Canis, Y.T. Chen, H. Hsiao, S. Brown, F. Ferrandi, J. Anderson, K. Bertels, A survey and evaluation of FPGA high-level synthesis tools, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. http://janders.eecg.toronto.edu/pdfs/tcad_hls.pdf. Accessed 28 Feb 2016
Y. Hara, H. Tomiyama, S. Honda, H. Takada, Proposal and quantitative analysis of the CHStone Benchmark program suite for practical C-based high-level synthesis. J. Inf. Process. 17, 242–254 (2009)
A.K. Jain, Data clustering: 50 years beyond K-means. Pattern Recogn. Lett. 31(8), 651–666 (2010)
C.M. Bishop, Pattern Recognition and Machine Learning (Springer, New York, 2006)
D. Clark, J. Bell, Multi-target state estimation and track continuity for the particle PHD filter. IEEE Trans. Aerosp. Electron. Syst. 43(4), 1441–1453 (2007)
Y.-C. Hu, M.-G. Lee, K-means-based color palette design scheme with the use of stable flags. Electron. Imaging 16(3), 033 003–033 003–11 (2007)
T. Saegusa, T. Maruyama, An FPGA implementation of real-time K-means clustering for color images. Real-Time Image Process. 2(4), 309–318 (2007)
J.P. Theiler, G. Gisler, Contiguity-enhanced K-means clustering algorithm for unsupervised multispectral image segmentation. Proc. SPIE 3159, 108–118 (1997)
M. Estlick, M. Leeser, J. Theiler, J.J. Szymanski, Algorithmic transformations in the implementation of K-means clustering on reconfigurable hardware, in Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA) (2001), pp. 103–110
P. Drineas, A. Frieze, R. Kannan, S. Vempala, V. Vinay, Clustering large graphs via the singular value decomposition. Mach. Learn. 56(1–3), 9–33 (2004)
M. Leeser, J. Theiler, M. Estlick, J. Szymanski, Design tradeoffs in a hardware implementation of the K-means clustering algorithm, in Proceedings of the IEEE Sensor Array and Multichannel Signal Processing Workshop (2000), pp. 520–524
X. Wang, M. Leeser, K-means clustering for multispectral images using floating-point divide, in Proceedings of the IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM) (2007), pp. 151–162
H.M. Hussain, K. Benkrid, A.T. Erdogan, H. Seker, Highly parameterized K-means clustering on FPGAs: comparative results with GPPs and GPUs, in International Conference on Reconfigurable Computing and FPGAs (2011), pp. 475–480
J. Kutty, F. Boussaid, A. Amira, A high speed configurable FPGA architecture for K-means clustering, in Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS) (2013), pp. 1801–1804
T.-W. Chen, S.-Y. Chien, Flexible hardware architecture of hierarchical K-means clustering for large cluster number. IEEE Trans. VLSI Syst. 19(8), 1336–1345 (2011)
Vivado-KMeans: Hand-Written HDL Code and C-Based HLS Designs for K-means Clustering Implementations on FPGAs. https://github.com/FelixWinterstein/Vivado-KMeans. Accessed 19 Dec 2015
High-Level Synthesis with LegUp, Accessed 20 Oct 2015. http://legup.eecg.utoronto.ca/
ROCCC 2.0|Jacquard Computing, Accessed 12 May 2015. http://www.jacquardcomputing.com/roccc/
R. Nane, V. M. Sima, B. Olivier, R. Meeuws, Y. Yankova, K. Bertels, DWARV 2.0: A CoSy-based C-to-VHDL hardware compiler, in Proceedings of the International Conference on Field Programmable Logic and Applications (FPL) (2012), pp. 619–622
GAUT - High-Level Synthesis Tool From C to RTL, Accessed 21 Mar 2015. http://hls-labsticc.univ-ubs.fr/
F. Winterstein, S. Bayliss, G. Constantinides, FPGA-based K-means clustering using tree-based data structures, in Proceedings International Conference on Field Programmable Logic and Applications (FPL) (2013), pp. 1–6
F. Winterstein, S. Bayliss, G. Constantinides, High-level synthesis of dynamic data structures: a case study using Vivado HLS, in Proceedings of the International Conference on Field-Programmable Technology (ICFPT) (2013), pp. 362–365
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Winterstein, F. (2017). High-Level Synthesis of Dynamic Data Structures. In: Separation Logic for High-level Synthesis. Springer Theses. Springer, Cham. https://doi.org/10.1007/978-3-319-53222-6_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-53222-6_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-53221-9
Online ISBN: 978-3-319-53222-6
eBook Packages: EngineeringEngineering (R0)