Skip to main content

Hardware Description Language Enhancements for High Level Synthesis of Hardware Accelerators

  • Conference paper
  • First Online:
Advances in Computing and Data Sciences (ICACDS 2022)

Abstract

High level synthesis of hardware accelerators is one of the many complex hardware operations that unfortunately cannot be efficiently performed with languages like Verilog or VHDL. Hardware designers, in order to bridge these gaps present in traditional HDLs, have taken to implementing such high-level hardware operations using functional programming (FP) languages or languages derived from FP languages. This is because FP languages (or their derivatives) have many important features like MapReduce, Immutable variables and Lazy evaluation. Today, only languages like Chisel, MyHDL or Haskell are used to perform high-level hardware operations. This obviously presents itself as a learning curve that hardware designers and experts have to go through in addition to learning Verilog or VHDL. This paper presents a novel approach that aims to take the standard syntax of Verilog and provide necessary enhancements for it to support basic functional programming constructs like Chain and Tree. The main component of this approach is the translation of the enhanced Verilog syntax to standard Verilog. This will be achieved using relevant Python libraries, methods and syntactic macros.

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

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Mathew P.: A block design for introductory functional programming in Haskell. In: 2019 IEEE Blocks and Beyond Workshop (B&B), pp. 31–35 (2019)

    Google Scholar 

  2. Lenon, P., Gahan, R.: A comparative study of chisel for FPGA design. In: 2018 29th Irish Signals and Systems Conference (ISSC), pp. 1–6 (2018)

    Google Scholar 

  3. Khanfor, A., Yang, Y.: An overview of practical impacts of functional programming. In: 24th Asia-Pacific Software Engineering Conference Workshops (APSECW), pp. 50–54 (2017)

    Google Scholar 

  4. Jaic, K., Smith, M.: Enhancing hardware flows with MyHDL. In: ACM/SIGDA International Symposium on FPGA, pp. 28–31 (2015)

    Google Scholar 

  5. Baldania, M.D., Patki, A.B., Sapkal, A.M.: Verilog - HDL based implementation of a fuzzy logic controller for embedded systems. In: IEEE International Conference on Computational Intelligence and Research, pp. 1–4 (2013)

    Google Scholar 

  6. Bachrach, J., et al.: Chisel-constructing hardware in a scala embedded language. In:DAC Design automation conference 2012, pp. 1212–1221 (2012)

    Google Scholar 

  7. Kohlbecker, E., Friedman, D.P., Felleisen, M., Duba, B.: Hygienic macro expansion. In: ACM conference on LISP and functional programming, pp. 151–161 (1986)

    Google Scholar 

  8. Hinsen, K.: The promises of functional programming. Comput. Sci. Eng. J. 11(4), 86–90 (2009)

    Google Scholar 

  9. Villar, J.I., Juan, J., Bellido, M.J., Viejo, J., Guerrero, D., Decaluwe, J.: Python as a hardware description language: a case study. In: 2011 VII Southern Conference on Programmable Logic (SPL), pp. 117–122 (2011)

    Google Scholar 

  10. IEEE Standard Verilog Hardware Description Language. In: IEEE Std 1364–2001, pp.1–792, 28 (2001)

    Google Scholar 

  11. Ebeling, C., French, B.: Abstract verilog: a hardware description language for novice students. In: 2007 IEEE International Conference on Microelectronic Systems Education (MSE’07), pp. 105–106 (2007)

    Google Scholar 

  12. Bove, A., Arbilla, L.: A confluent calculus of Macro expansion and evaluation. In: ACM Conference on LISP and Functional Programming, pp. 278–287 (1992)

    Google Scholar 

  13. Bartley, D., Hanson, C., Miller, J.: IEEE Standard for the Scheme Programming Language. IEEE (1991)

    Google Scholar 

  14. Herman, D., Wand, M.A.: Theory of hygienic macros. In: Drossopoulou, S. (eds.) Programming Languages and Systems. ESOP 2008. LNCS, vol. 4960. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78739-6_4

  15. Keeney, J., Cahill, V.: Chisel: a policy-driven, context-aware, dynamic adaptation framework. In: IEEE 4th International Workshop on Policies for Distributed Systems and Networks, pp. 3–14 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shruti Jadon .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kasivinayagam, G., Skanda, R., Burli, A.G., Jadon, S., Sidhu, R. (2022). Hardware Description Language Enhancements for High Level Synthesis of Hardware Accelerators. In: Singh, M., Tyagi, V., Gupta, P.K., Flusser, J., Ören, T. (eds) Advances in Computing and Data Sciences. ICACDS 2022. Communications in Computer and Information Science, vol 1613. Springer, Cham. https://doi.org/10.1007/978-3-031-12638-3_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-12638-3_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-12637-6

  • Online ISBN: 978-3-031-12638-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics