skip to main content
research-article

Identification of Dynamic Circuit Specialization Opportunities in RTL Code

Published:06 March 2015Publication History
Skip Abstract Section

Abstract

Dynamic Circuit Specialization (DCS) optimizes a Field-Programmable Gate Array (FPGA) design by assuming a set of its input signals are constant for a reasonable amount of time, leading to a smaller and faster FPGA circuit. When the signals actually change, a new circuit is loaded into the FPGA through runtime reconfiguration. The signals the design is specialized for are called parameters. For certain designs, parameters can be selected so the DCS implementation is both smaller and faster than the original implementation. However, DCS also introduces an overhead that is difficult for the designer to take into account, making it hard to determine whether a design is improved by DCS or not. This article presents extensive results on a profiling methodology that analyses Register-Transfer Level (RTL) implementations of applications to check if DCS would be beneficial. It proposes to use the functional density as a measure for the area efficiency of an implementation, as this measure contains both the overhead and the gains of a DCS implementation. The first step of the methodology is to analyse the dynamic behaviour of signals in the design, to find good parameter candidates. The overhead of DCS is highly dependent on this dynamic behaviour. A second stage calculates the functional density for each candidate and compares it to the functional density of the original design. The profiling methodology resulted in three implementations of a profiling tool, the DCS-RTL profiler. The execution time, accuracy, and the quality of each implementation is assessed based on data from 10 RTL designs. All designs, except for the two 16-bit adaptable Finite Impulse Response (FIR) filters, are analysed in 1 hour or less.

References

  1. Cristinel Ababei. 2009. Speeding up FPGA placement via partitioning and multithreading. Int. J. Reconfig. Comput. 2009, Article 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Fatma Abouelella, Karel Bruneel, and Dirk Stroobandt. 2010. Towards a more efficient run-time FPGA configuration generation. In Proceedings of the International Conference on Parallel Computing (ParCo’09). Lyon, France, 8.Google ScholarGoogle Scholar
  3. Brahim Al Farisi. 2009. Herconfiguratie van LUT’s via hun schuifregisterfunctionaliteit. Master’s thesis. Universiteit Gent.Google ScholarGoogle Scholar
  4. Berkeley Verification and Synthesis Research Center. 2012. ABC: A System for Sequential Synthesis and Verification.Google ScholarGoogle Scholar
  5. Sheetal Bhandari, Fabio Cancare, Davide Basilio Bartolini, Matteo Carminati, Marco Domenico Santambrogio, and Donatella Sciuto. 2012. On the management of dynamic partial reconfiguration to speed-up intrinsic evolvable hardware systems. In Proceedings of the 6th HiPEAC Workshop on Reconfigurable Computing.Google ScholarGoogle Scholar
  6. Karel Bruneel. 2011. Efficient Circuit Specialization for Dynamic Reconfiguration of FPGAs. Ph.D. dissertation. Ghent University.Google ScholarGoogle Scholar
  7. Karel Bruneel and Dirk Stroobandt. 2008. Automatic generation of run-time parameterizable configurations. In Proceedings of the International Conference on Field Programmable Logic and Applications, U. Kebschull, M. Platzner, and Teich J. (Eds.). Kirchhoff Institute for Physics, Heidelberg, 361--366.Google ScholarGoogle ScholarCross RefCross Ref
  8. Christopher Claus, Rehan Ahmed, Florian Altenried, and Walter Stechele. 2010. Towards rapid dynamic partial reconfiguration in video-based driver assistance systems. In Reconfigurable Computing: Architectures, Tools and Applications. Springer, 55--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Tom Davidson, Fatma Abouelella, Karel Bruneel, and Dirk Stroobandt. 2011. Dynamic circuit specialisation for key-based encryption algorithms and DNA alignment. Int. J. Reconfig. Comput. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Tom Davidson, Karel Bruneel, and Dirk Stroobandt. 2012a. Identifying opportunities for dynamic circuit specialization. In Workshop on Self-Awareness in Reconfigurable Computing Systems (SRCS’12).Google ScholarGoogle Scholar
  11. Tom Davidson, Mattias Merlier, Karel Bruneel, and Dirk Stroobandt. 2012b. A dynamically reconfigurable pattern matcher for regular expressions on FPGA. In Advances in Parallel Computing, Koen De Bosschere (Ed.), Vol. 22. IOS Press, Amsterdam, The Netherlands, 611--618.Google ScholarGoogle Scholar
  12. Andre Maurice DeHon. 1996. Reconfigurable Architectures for General-Purpose Computing. AI Tech. Report 1586. MIT Artificial Intelligence Laboratory, Cambridge, Mass. Google ScholarGoogle Scholar
  13. Evelyn Duesterwald and Vasanth Bala. 2000. Software profiling for hot path prediction: Less is more. SIGOPS Oper. Syst. Rev. 34, 5 (Nov. 2000), 202--211. DOI: http://dx.doi.org/10.1145/384264.379241 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Mentor Graphics. 2008. ModelSim® Reference Manual Software Version 6.5 g.Google ScholarGoogle Scholar
  15. Scott Hauck and André Dehon. 2007. Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation. Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. HES Group, Ghent Univeristy. 2012. TMAP Toolflow. Retrieved from https://github.com/UGent-HES/tlut_flow.Google ScholarGoogle Scholar
  17. Karel Heyse, Brahim Al Farisi, Karel Bruneel, and Dirk Stroobandt. 2012. Automating Reconfiguration Chain Generation for SRL-Based Run-Time Reconfiguration. In Lecture Notes in Computer Science, Vol. 7199. Springer, Berlin, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Nand Kumar, et al. 1995. Profile-driven behavioral synthesis for low-power VLSI systems. IEEE Design & Test of Computers 12.3 (1995), 70--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Srinivas Katkoori and Ranga Vemuri. 1998. Architectural power estimation based on behavior level profiling. VLSI Des. 7, 3 (1998), 255--270. DOI: http://dx.doi.org/10.1155/1998/93106Google ScholarGoogle ScholarCross RefCross Ref
  20. Eric R. Keller. 2000. Dynamic circuit specialization of a CORDIC processor. Proc. SPIE 4212 (2000), 134--141. DOI: http://dx.doi.org/10.1117/12.402517Google ScholarGoogle Scholar
  21. Davin Lim and Mike Peattie. 2002. Two flows for partial reconfiguration: Module based or small bit manipulations. Xilinx Application Note 290 (v1.0).Google ScholarGoogle Scholar
  22. Ming Liu, W. Kuehn, Zhonghai Lu, and A. Jantsch. 2009. Run-time partial reconfiguration speed investigation and architectural design space exploration. In International Conference on Field Programmable Logic and Applications, 2009 (FPL’09). 498--502. DOI: http://dx.doi.org/10.1109/FPL.2009.5272463Google ScholarGoogle ScholarCross RefCross Ref
  23. Michael G. Lorenz, Luis Mengibar, Mario G. Valderas, and Luis Entrena. 2004. Power consumption reduction through dynamic reconfiguration. In Field Programmable Logic and Application, Jürgen Becker, Marco Platzner, and Serge Vernalde (Eds.). Lecture Notes in Computer Science, Vol. 3203. Springer, Berlin, 751--760. DOI: http://dx.doi.org/10.1007/978-3-540-30117-2_76Google ScholarGoogle Scholar
  24. Grigorios Magklis, Michael L. Scott, Greg Semeraro, David H. Albonesi, and Steven Dropsho. 2003. Profile-based dynamic voltage and frequency scaling for a multiple clock domain microprocessor. SIGARCH Comput. Archit. News 31, 2 (May 2003), 14--27. DOI: http://dx.doi.org/10.1145/871656.859621 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Philippe Manet, Daniel Maufroid, Leonardo Tosi, Gregory Gailliard, Olivier Mulertt, Marco Di Ciano, Jean-Didier Legat, Denis Aulagnier, Christian Gamrat, Raffaele Liberati, et al. 2008. An evaluation of dynamic partial reconfiguration for signal and image processing in professional electronics applications. EURASIP J. Embedded Syst. 2008 (2008), 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. opencores. 2012a. Pipelined AES. Retrieved from http://opencores.org/project,aes_pipe.Google ScholarGoogle Scholar
  27. opencores. 2012b. RC6 cryptography. Retrieved from http://opencores.org/project,cryptography.Google ScholarGoogle Scholar
  28. opencores. 2012c. Twofish. Retrieved from http://opencores.org/project,twofish.Google ScholarGoogle Scholar
  29. Stefano Ortolani, Cristiano Giuffrida, and Bruno Crispo. 2011. KLIMAX: Profiling memory write patterns to detect keystroke-harvesting malware. In Recent Advances in Intrusion Detection, Robin Sommer, Davide Balzarotti, and Gregor Maier (Eds.). Lecture Notes in Computer Science, Vol. 6961. Springer, Berlin, 81--100. DOI: http://dx.doi.org/10.1007/978-3-642-23644-0_5 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Martin Roesch. 1999. Snort—Lightweight intrusion detection for networks. In Proceedings of the 13th USENIX Conference on System Administration (LISA’99). USENIX Association, Berkeley, CA, 229--238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Michael J. Wirthlin and Brad L. Hutchings. 1998. Improving functional density using run-time circuit reconfiguration FPGAs. IEEE Transactions on Very Large Scale Integr. (VLSI) Syst. 6, 2 (June 1998), 247--256. DOI: http://dx.doi.org/10.1109/92.678880 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Michael J. Wirthlin and Brad L. Hutchings. 1997. Improving functional density through run-time constant propagation. In Proceedings of the 1997 ACM 5th International Symposium on Field-Programmable Gate Arrays (FPGA’97). ACM, New York, NY, 86--92. DOI: http://dx.doi.org/10.1145/258305.258316 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Inc. Xilinx. 2004. OPB HWICAP, ds 280.Google ScholarGoogle Scholar
  34. Inc. Xilinx. 2006. OPB HWICAP (v1.00b), ds 280.Google ScholarGoogle Scholar
  35. Inc. Xilinx. 2007. Virtex-II Pro and Virtex-II Pro X FPGA User Guide UG012 (v4.2). (2007).Google ScholarGoogle Scholar
  36. Inc. Xilinx. 2011. LogiCORE IP XPS HWICAP (v5.01a) DS586. (2011).Google ScholarGoogle Scholar
  37. Inc. Xilinx. 2012a. EDK concepts, tools, and techniques UG683. (2012).Google ScholarGoogle Scholar
  38. Inc. Xilinx. 2012b. LogiCORE IP AXI HWICAP (v2.02a) DS817. (2012).Google ScholarGoogle Scholar
  39. Inc. Xilinx. 2012c. Synthesis and Simulation Design Guide UG626. (v13.4) (2012).Google ScholarGoogle Scholar
  40. Inc. Xilinx. 2012d. Virtex-5 FPGA Configuration User Guide UG191 (v3.11). (2012).Google ScholarGoogle Scholar

Index Terms

  1. Identification of Dynamic Circuit Specialization Opportunities in RTL Code

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Reconfigurable Technology and Systems
      ACM Transactions on Reconfigurable Technology and Systems  Volume 8, Issue 1
      February 2015
      127 pages
      ISSN:1936-7406
      EISSN:1936-7414
      DOI:10.1145/2744082
      • Editor:
      • Steve Wilton
      Issue’s Table of Contents

      Copyright © 2015 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 6 March 2015
      • Accepted: 1 April 2014
      • Revised: 1 February 2014
      • Received: 1 December 2013
      Published in trets Volume 8, Issue 1

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed
    • Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!