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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Mathew P.: A block design for introductory functional programming in Haskell. In: 2019 IEEE Blocks and Beyond Workshop (B&B), pp. 31–35 (2019)
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)
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)
Jaic, K., Smith, M.: Enhancing hardware flows with MyHDL. In: ACM/SIGDA International Symposium on FPGA, pp. 28–31 (2015)
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)
Bachrach, J., et al.: Chisel-constructing hardware in a scala embedded language. In:DAC Design automation conference 2012, pp. 1212–1221 (2012)
Kohlbecker, E., Friedman, D.P., Felleisen, M., Duba, B.: Hygienic macro expansion. In: ACM conference on LISP and functional programming, pp. 151–161 (1986)
Hinsen, K.: The promises of functional programming. Comput. Sci. Eng. J. 11(4), 86–90 (2009)
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)
IEEE Standard Verilog Hardware Description Language. In: IEEE Std 1364–2001, pp.1–792, 28 (2001)
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)
Bove, A., Arbilla, L.: A confluent calculus of Macro expansion and evaluation. In: ACM Conference on LISP and Functional Programming, pp. 278–287 (1992)
Bartley, D., Hanson, C., Miller, J.: IEEE Standard for the Scheme Programming Language. IEEE (1991)
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
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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)