Introducing Kansas Lava | SpringerLink
Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6041))

  • 420 Accesses

Abstract

Kansas Lava is a domain specific language for hardware description. Though there have been a number of previous implementations of Lava, we have found the design space rich, with unexplored choices. We use a direct (Chalmers style) specification of circuits, and make significant use of Haskell overloading of standard classes, leading to concise circuit descriptions. Kansas Lava supports both simulation (inside GHCi), and execution via VHDL, by having a dual shallow and deep embedding inside our Signal type. We also have a lightweight sized-type mechanism, allowing for MATLAB style matrix based specifications to be directly expressed in Kansas Lava.

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

Access this chapter

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
JPY 3498
Price includes VAT (Japan)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
JPY 5719
Price includes VAT (Japan)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
JPY 7149
Price includes VAT (Japan)
  • 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Bjesse, P., Claessen, K., Sheeran, M., Singh, S.: Lava: Hardware design in haskell. In: International Conference on Functional Programming, pp. 174–184 (1998)

    Google Scholar 

  2. Singh, S., James-Roxby, P.: Lava and jbits: From hdl to bitstream in seconds. In: FCCM 2001: Proceedings of the the 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, Washington, DC, USA, pp. 91–100. IEEE Computer Society, Los Alamitos (2001)

    Google Scholar 

  3. Claessen, K., Sands, D.: Observable sharing for functional circuit description. In: Thiagarajan, P.S., Yap, R.H.C. (eds.) ASIAN 1999. LNCS, vol. 1742, p. 62. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  4. Gill, A.: Type-safe observable sharing in Haskell. In: Proceedings of the 2009 ACM SIGPLAN Haskell Symposium (September 2009)

    Google Scholar 

  5. Singh, S.: Designing reconfigurable systems in lava. In: International Conference on VLSI Design, p. 299 (2004)

    Google Scholar 

  6. Axelsson, E., Björk, M., Sheeran, M.: Teaching hardware description and verification. In: IEEE International Conference on Multimedia Software Engineering, International Symposium on Microelectronics Systems Education, pp. 119–120 (2005)

    Google Scholar 

  7. McBride, C., Patterson, R.: Applicative programing with effects. Journal of Functional Programming 16(6) (2006)

    Google Scholar 

  8. Moon, T.K.: Error correction coding: mathematical methods and algorithms. Wiley Interscience, Hoboken (2005)

    Book  MATH  Google Scholar 

  9. Leijen, D., Meijer, E.: Domain specific embedded compilers. In: 2nd USENIX Conference on Domain Specific Languages (DSL 1999), Austin, Texas, pp. 109–122 (October 1999)

    Google Scholar 

  10. Chakravarty, M.M.T., Keller, G., Jones, S.P.: Associated type synonyms. In: ICFP 2005: Proceedings of the Tenth ACM SIGPLAN International Conference on Functional Programming, pp. 241–253. ACM, New York (2005)

    Chapter  Google Scholar 

  11. Jones, G., Sheeran, M.: Circuit design in ruby. In: Staunstrup (ed.) Formal Methods for VLSI Design. Elsevier Science Publications, Amsterdam (1990)

    Google Scholar 

  12. Sheeran, M.: mufp, a language for vlsi design. In: LFP 1984: Proceedings of the 1984 ACM Symposium on LISP and functional programming, pp. 104–112. ACM, New York (1984)

    Chapter  Google Scholar 

  13. Sander, I.: System Modeling and Design Refinement in ForSyDe. PhD thesis, Royal Institute of Technology, Stockholm, Sweden (April 2003)

    Google Scholar 

  14. Bellows, P., Hutchings, B.: JHDL - an HDL for reconfigurable systems. In: Annual IEEE Symposium on Field-Programmable Custom Computing Machines, p. 175 (1998)

    Google Scholar 

  15. Jantsch, A., Sander, I.: Models of computation and languages for embedded system design. IEE Proceedings on Computers and Digital Techniques 152(2), 114–129 (2005); Special issue on Embedded Microelectronic Systems

    Article  Google Scholar 

  16. Gill, A., Hutton, G.: The worker/wrapper transformation. Journal of Functional Programming 19(2), 227–251 (2009)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gill, A., Bull, T., Kimmell, G., Perrins, E., Komp, E., Werling, B. (2010). Introducing Kansas Lava. In: Morazán, M.T., Scholz, SB. (eds) Implementation and Application of Functional Languages. IFL 2009. Lecture Notes in Computer Science, vol 6041. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16478-1_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16478-1_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16477-4

  • Online ISBN: 978-3-642-16478-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics