Skip to main content

High-Level Synthesis of Dynamic Data Structures

  • Chapter
  • First Online:
Separation Logic for High-level Synthesis

Part of the book series: Springer Theses ((Springer Theses))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/FelixWinterstein/Vivado-KMeans [21].

References

  1. 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)

    Article  MATH  Google Scholar 

  2. 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)

    Google Scholar 

  3. Sobel Edge Detector. http://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm. Accessed 13 Mar 2016

  4. S. Sarkar, S. Dabral, P. Tiwari, R. Mitra, Lessons and experiences with high-level synthesis. IEEE Des. Test Comput. 26(4), 34–45 (2009)

    Article  Google Scholar 

  5. 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

  6. 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

  7. 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)

    Google Scholar 

  8. A.K. Jain, Data clustering: 50 years beyond K-means. Pattern Recogn. Lett. 31(8), 651–666 (2010)

    Article  Google Scholar 

  9. C.M. Bishop, Pattern Recognition and Machine Learning (Springer, New York, 2006)

    MATH  Google Scholar 

  10. 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)

    Article  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Article  Google Scholar 

  13. J.P. Theiler, G. Gisler, Contiguity-enhanced K-means clustering algorithm for unsupervised multispectral image segmentation. Proc. SPIE 3159, 108–118 (1997)

    Article  Google Scholar 

  14. 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

    Google Scholar 

  15. 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)

    Article  MATH  Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Google Scholar 

  18. 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

    Google Scholar 

  19. 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

    Google Scholar 

  20. 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)

    Article  Google Scholar 

  21. 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

  22. High-Level Synthesis with LegUp, Accessed 20 Oct 2015. http://legup.eecg.utoronto.ca/

  23. ROCCC 2.0|Jacquard Computing, Accessed 12 May 2015. http://www.jacquardcomputing.com/roccc/

  24. 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

    Google Scholar 

  25. GAUT - High-Level Synthesis Tool From C to RTL, Accessed 21 Mar 2015. http://hls-labsticc.univ-ubs.fr/

  26. 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

    Google Scholar 

  27. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Felix Winterstein .

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics