Abstract
Most hardware design languages have not benefited from modern ideas in programming languages. We describe aspects of BSV, a recent language for designing hardware systems that makes extensive use of Haskell types (Hindley-Milner types and type classes), functional programming (higher-order functions, monads) and atomic transactions in the form of concurrent rewrite rules.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Augustsson, L., Schwartz, J., Nikhil, R.S.: Bluespec Language Definition, The earliest version of BSV (2001)
Bjesse, P., Claessen, K., Sheeran, M., Singh, S.: Lava: Hardware Design in Haskell. In: Proc. ACM Intl. Conf. on Functional Programming, ICFP (1998)
Chandy, K., Misra, J.: Parallel Program Design: A Foundation. Addison Wesley (1988)
Dijkstra, E.W.: Guarded Commands, Nondeterminacy and Formal Derivation of Programs. Communications of the ACM 18(8), 453–457 (1975)
Hoe, J.C., Arvind: Synthesis of Operation-Centric Hardware Descriptions. In: IEEE/ACM Intl. Conf. on Computer Aided Design (ICCAD), pp. 511–518 (2000)
IEEE: IEEE Standard VHDL Language Reference Manual, IEEE Std 1076-1993 (2002)
IEEE: IEEE Standard for System Verilog—Unified Hardware Design, Specification and Verification Language, IEEE Std 1800-2005 (2005)
IEEE: IEEE Standard Verilog Hardware Description Language, iEEE Std 1364-2005 (2005)
Klop, J.: Term Rewriting Systems. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol. 2, pp. 1–116. Oxford University Press (1992)
Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Professional (Pearson Education) (2002)
Metayer, C., Abrial, J.R., Voisin, L.: The Event-B Language (May 31, 2005), http://rodin.cs.ncl.ac.uk/deliverables.htm
Milner, R.: A Theory of Type Polymorphism in Programming. J. of Computer and System Sciences 17, 348–375 (1978)
Nikhil, R.S.: Abstraction in Hardware System Design. Communications of the ACM 54(10), 36–44 (2011)
Nikhil, R.S., Czeck, K.R.: BSV by Example. CreateSpace (December 2010) (book form: Amazon.com ; PDF: bluespec.com )
Peyton Jones, S., (ed.): Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press (2003), haskell.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Nikhil, R.S. (2013). Types, Functional Programming and Atomic Transactions in Hardware Design. In: Tannen, V., Wong, L., Libkin, L., Fan, W., Tan, WC., Fourman, M. (eds) In Search of Elegance in the Theory and Practice of Computation. Lecture Notes in Computer Science, vol 8000. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41660-6_22
Download citation
DOI: https://doi.org/10.1007/978-3-642-41660-6_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41659-0
Online ISBN: 978-3-642-41660-6
eBook Packages: Computer ScienceComputer Science (R0)