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.
- Cristinel Ababei. 2009. Speeding up FPGA placement via partitioning and multithreading. Int. J. Reconfig. Comput. 2009, Article 6. Google Scholar
Digital Library
- 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 Scholar
- Brahim Al Farisi. 2009. Herconfiguratie van LUT’s via hun schuifregisterfunctionaliteit. Master’s thesis. Universiteit Gent.Google Scholar
- Berkeley Verification and Synthesis Research Center. 2012. ABC: A System for Sequential Synthesis and Verification.Google Scholar
- 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 Scholar
- Karel Bruneel. 2011. Efficient Circuit Specialization for Dynamic Reconfiguration of FPGAs. Ph.D. dissertation. Ghent University.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- Andre Maurice DeHon. 1996. Reconfigurable Architectures for General-Purpose Computing. AI Tech. Report 1586. MIT Artificial Intelligence Laboratory, Cambridge, Mass. Google Scholar
- 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 Scholar
Digital Library
- Mentor Graphics. 2008. ModelSim® Reference Manual Software Version 6.5 g.Google Scholar
- Scott Hauck and André Dehon. 2007. Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation. Morgan Kaufmann. Google Scholar
Digital Library
- HES Group, Ghent Univeristy. 2012. TMAP Toolflow. Retrieved from https://github.com/UGent-HES/tlut_flow.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- Davin Lim and Mike Peattie. 2002. Two flows for partial reconfiguration: Module based or small bit manipulations. Xilinx Application Note 290 (v1.0).Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- opencores. 2012a. Pipelined AES. Retrieved from http://opencores.org/project,aes_pipe.Google Scholar
- opencores. 2012b. RC6 cryptography. Retrieved from http://opencores.org/project,cryptography.Google Scholar
- opencores. 2012c. Twofish. Retrieved from http://opencores.org/project,twofish.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Inc. Xilinx. 2004. OPB HWICAP, ds 280.Google Scholar
- Inc. Xilinx. 2006. OPB HWICAP (v1.00b), ds 280.Google Scholar
- Inc. Xilinx. 2007. Virtex-II Pro and Virtex-II Pro X FPGA User Guide UG012 (v4.2). (2007).Google Scholar
- Inc. Xilinx. 2011. LogiCORE IP XPS HWICAP (v5.01a) DS586. (2011).Google Scholar
- Inc. Xilinx. 2012a. EDK concepts, tools, and techniques UG683. (2012).Google Scholar
- Inc. Xilinx. 2012b. LogiCORE IP AXI HWICAP (v2.02a) DS817. (2012).Google Scholar
- Inc. Xilinx. 2012c. Synthesis and Simulation Design Guide UG626. (v13.4) (2012).Google Scholar
- Inc. Xilinx. 2012d. Virtex-5 FPGA Configuration User Guide UG191 (v3.11). (2012).Google Scholar
Index Terms
Identification of Dynamic Circuit Specialization Opportunities in RTL Code
Recommendations
How to efficiently implement dynamic circuit specialization systems
Dynamic circuit specialization (DCS) is a technique used to implement FPGA applications where some of the input data, called parameters, change slowly compared to other inputs. Each time the parameter values change, the FPGA is reconfigured by a ...
Avoiding transitional effects in dynamic circuit specialisation on FPGAs
DAC '15: Proceedings of the 52nd Annual Design Automation ConferenceDynamic Circuit Specialisation (DCS) is a technique that uses the reconfigurability of an FPGA to optimise a circuit during run-time, thus achieving higher performance and lower resource cost. However, run-time reconfiguration causes transitional ...
Performance Evaluation of Dynamic Circuit Specialization on Xilinx FPGAs
FPGAWorld '14: Proceedings of the FPGA World Conference 2014Dynamic Circuit Specialization (DCS) is a technique used to optimize FPGA applications when some of the inputs, called parameters, are infrequently changing compared to other inputs. For every change of parameter input values, a specialized FPGA ...






Comments