Skip to main content

Hardware Synthesis from Functional Embedded Domain-Specific Languages: A Case Study in Regular Expression Compilation

  • Conference paper
  • First Online:
Applied Reconfigurable Computing (ARC 2015)

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

Included in the following conference series:

Abstract

Although FPGAs have the potential to bring software-like flexibility and agility to the hardware world, designing for FPGAs remains a difficult task divorced from standard software engineering norms. A better programming flow would go far towards realizing the potential of widely deployed, programmable hardware. We propose a general methodology based on domain specific languages embedded in the functional language Haskell to bridge the gap between high level abstractions that support programmer productivity and the need for high performance in FPGA circuit implementations. We illustrate this methodology with a framework for regular expression to hardware compilers, written in Haskell, that supports high programmer productivity while producing circuits whose performance matches and, indeed, exceeds that of a state of the art, hand-optimized VHDL-based tool. For example, after applying a novel optimization pass, throughput increased an average of \(28.3\,\%\) over the state of the art tool for one set of benchmarks. All code discussed in the paper is available onlineĀ [1].

This Research Was Supported by the Office of the Assistant Secretary of Defense for Research and Engineering, the U.S. Department of Education Under GAANN Grant Number P200A100053, NSF CAREER Award 00017806, and NSF Award CNS-1319748.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Graves, I., Procter, A., Harrison, W.L., Becchi, M., Allwein, G.: ARC 15 Code Base. http://goo.gl/efJ6SO

  2. George, N., Lee, H., Novo, D., Rompf, T., Brown, K., Sujeeth, A., Odersky, M., Olukotun, K., Ienne, P.: Hardware system synthesis from domain-specific languages. In: Proc. of 24th Int. Conf. on Field Prog. Logic and App. (FPL 2014) (2014)

    Google ScholarĀ 

  3. Procter, A., Harrison, W., Graves, I., Becchi, M., Allwein, G.: Semantics-directed machine architecture in ReWire. In: 2013 Int. Conf. on Field Programmable Technology (FPT 2013), pp. 446ā€“449 (2013)

    Google ScholarĀ 

  4. Lee, H., Brown, K., Sujeeth, A., Chafi, H., Rompf, T., Odersky, M., Olukotun, K.: Implementing domain-specific languages for heterogeneous parallel computing. IEEE Micro 31(5), 42ā€“53 (2011)

    ArticleĀ  Google ScholarĀ 

  5. Roesch, M.: Snort - lightweight intrusion detection for networks. In: Proc. of the 13th USENIX Conf. on System Administration. LISA 1999, pp. 229ā€“238 (1999)

    Google ScholarĀ 

  6. Sidhu, R., Prasanna, V.K.: Fast regular expression matching using FPGAs. In: Proc. of the 9th Annual IEEE Symp. on Field-Programmable Custom Computing Machines, pp. 227ā€“238 (2001)

    Google ScholarĀ 

  7. Becchi, M., Crowley, P.: Efficient regular expression evaluation: theory to practice. In: Proc. of the 4th ACM/IEEE Symp. on Architectures for Networking and Communications Systems, pp. 50ā€“59. ACM (2008)

    Google ScholarĀ 

  8. Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, 3rd edn. Addison-Wesley (2006)

    Google ScholarĀ 

  9. Becchi, M., Crowley, P.: An improved algorithm to accelerate regular expression evaluation. In: Proc. of the 2007 ACM/IEEE Symp. on Architecture for Networking and Communications Sys., pp. 145ā€“154 (2007)

    Google ScholarĀ 

  10. Kumar, S., Dharmapurikar, S., Yu, F., Crowley, P., Turner, J.: Algorithms to accelerate multiple regular expressions matching for deep packet inspection. In: Proc. of the 2006 Conf. on Applications, Technologies, Architectures, and Protocols for Computer Communications, SIGCOMM 2006, pp. 339ā€“350 (2006)

    Google ScholarĀ 

  11. Brodie, B.C., Taylor, D.E., Cytron, R.K.: A scalable architecture for high-throughput regular-expression pattern matching. In: 2006 ISCA, pp. 191ā€“202 (2006)

    Google ScholarĀ 

  12. Becchi, M., Crowley, P.: A hybrid finite automaton for practical deep packet inspection. In: Proc. of the 2007 ACM CoNEXT Conf., pp. 1ā€“12 (2007)

    Google ScholarĀ 

  13. Mitra, A., Najjar, W., Bhuyan, L.: Compiling PCRE to FPGA for accelerating SNORT IDS. In: Proc. of the 2007 ACM/IEEE Symp. on Architecture for Networking and Communications Sys., pp. 127ā€“136 (2007)

    Google ScholarĀ 

  14. Sourdis, I., Bispo, J.a., Cardoso, J.a.M., Vassiliadis, S.: Regular expression matching in reconfigurable hardware. J. Signal Process. Syst. 51(1), 99ā€“121 (2008)

    Google ScholarĀ 

  15. Yang, Y.H.E., Jiang, W., Prasanna, V.K.: Compact architecture for high-throughput regular expression matching on fpga. In: Proc. of the 2008 ACM/IEEE Symp. on Architectures for Networking and Communications Sys., pp. 30ā€“39 (2008)

    Google ScholarĀ 

  16. Arvind: Bluespec and haskell. In: Proc. 1st Ann. Workshop on Fun. Prog. Concepts in Domain-specific Languages, pp. 1ā€“2 (2013)

    Google ScholarĀ 

  17. Bjesse, P., Claessen, K., Sheeran, M., Singh, S.: Lava: hardware design in haskell. In: 3rd ICFP, pp. 174ā€“184 (1998)

    Google ScholarĀ 

  18. Baaij, C., Kuper, J.: Using rewriting to synthesize functional languages to digital circuits. In: McCarthy, J. (ed.) TFP 2013. LNCS, vol. 8322, pp. 17ā€“33. Springer, Heidelberg (2014)

    ChapterĀ  Google ScholarĀ 

  19. Sander, I., Jantsch, A.: System modeling and transformational design refinement in ForSyDe. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 23(1), 17ā€“32 (2004)

    ArticleĀ  Google ScholarĀ 

  20. Procter, A.: Semantics-Driven Design and Implementation of High-Assurance Hardware. PhD thesis, Univeristy of Missouri, Department of Computer Science (2014)

    Google ScholarĀ 

  21. Paxson, V.: Bro: a system for detecting network intruders in real-time. In: Proc. of the 1998 Conf. on USENIX Security Symp., p. 3 (1988)

    Google ScholarĀ 

  22. Taha, W., Sheard, T.: Metaml and multi-stage programming with explicit annotations. Theoretical Computer Science 248(1), 211ā€“242 (2000)

    ArticleĀ  MATHĀ  Google ScholarĀ 

  23. Harrison, W.L., Procter, A., Allwein, G.: The confinement problem in the presence of faults. In: Aoki, T., Taguchi, K. (eds.) ICFEM 2012. LNCS, vol. 7635, pp. 182ā€“197. Springer, Heidelberg (2012)

    ChapterĀ  Google ScholarĀ 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ian Graves .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

Ā© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Graves, I., Procter, A., Harrison, W.L., Becchi, M., Allwein, G. (2015). Hardware Synthesis from Functional Embedded Domain-Specific Languages: A Case Study in Regular Expression Compilation. In: Sano, K., Soudris, D., HĆ¼bner, M., Diniz, P. (eds) Applied Reconfigurable Computing. ARC 2015. Lecture Notes in Computer Science(), vol 9040. Springer, Cham. https://doi.org/10.1007/978-3-319-16214-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-16214-0_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-16213-3

  • Online ISBN: 978-3-319-16214-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics