Parameterised reconfiguration is a method for dynamic circuit specialization on FPGAs. The main advantage of this new concept is the high resource efficiency. Additionally, there is an automated tool flow, TMAP, that converts a hardware design into a more resource-efficient run-time reconfigurable design without a large design effort. We will start by explaining the core principles behind the dynamic circuit specialization technique. Next, we show the possible gains in encryption applications using an AES encoder. Our AES design shows a 20.6% area gain compared to an unoptimized hardware implementation and a 5.3% gain compared to a manually optimized third-party hardware implementation. We also used TMAP on a Triple-DES and an RC6 implementation, where we achieve a 27.8% and a 72.7% LUT-area gain. In addition, we discuss a run-time reconfigurable DNA aligner. We focus on the optimizations to the dynamic specialization overhead. Our final design is up to 2.80-times more efficient on cheaper FPGAs than the original DNA aligner when at least one DNA sequence is longer than 758 characters. Most sequences in DNA alignment are of the order 213. 1. Introduction Parameterised configurations are a new concept for dynamic circuit specialization that uses FPGA reconfiguration. It was developed to use run-time reconfiguration (RTR) to dynamically specify the design [1]. This concept is implemented in the TMAP tool flow, an alternative to the normal FPGA tool flow. The TMAP tool flow allows us to automatically make a run-time reconfigurable design, based on the original design. Its principles and advantages are discussed in section 2. Because this is a new technique, there is still a lot of exploration needed to fully understand how it should be used and what the potential gains are for different applications. This paper shows that in at least two fields, key-based encryption and DNA alignment, substantial gains can be made using parameterised configurations. The TMAP tool flow allows us to check very quickly whether or not a certain implementation is suitable for dynamic circuit specialization or not. In Section 3 we will discuss the similarities between this tool flow and hardware/software partitioning that does not use run-time reconfiguration. There, we will also show that using parameterised configurations extends the hardware/software boundary. To explain how parameterised configuration can be used in encryption applications, we start with a straightforward implementation of the Advanced Encryption Standard. AES is an encryption algorithm detailed by the NIST
References
[1]
K. Bruneel and D. Stroobandt, “Automatic generation of run-time parameterizable configurations,” in Proceedings of the International Conference on Field Programmable Logic and Applications (FPL '08), pp. 361–366, September 2008.
[2]
N. I. of Standards and Technology, “Announcing the ADVANCED ENCRYPTION STANDARD (AES),” November 2001.
[3]
“Opencores.org, the Cryptopan project,” http://www.opencores.org/project,cryptopan_core.
[4]
“Opencores.org, the Avalon AES project,” http://www.opencores.org/project,avs_aes.
[5]
“Opencores.org, the AES128 project,” http://opencores.org/project,aes_crypto_core.
[6]
“Opencores.org, the AES core project,” http://opencores.org/project,aes_128_192_256.
[7]
D. Coppersmith, D. B. Johnson, and S. M. Matyas, “A proposed mode for triple-DES encryption,” IBM Journal of Research and Development, vol. 40, no. 2, pp. 253–261, 1996.
[8]
R. L. Rivest, M. J. B. Robshaw, R. Sidney, and Y. L. Yin, “The RC6 block cipher,” in Proceedings of the 1st Advanced Encryption Standard (AES) Conference, p. 16, 1998.
[9]
Xilinx Inc., Two Flows for Partial Reconfiguration: Module Based or Small Bit Manipulations, Xilinx Inc., 2002.
[10]
N. McKay and S. Singh, “Dynamic specialisation of XC6200 FPGAs by parial evaluation,” in Proceedings of the 8th International Workshop on Field-Programmable Logic and Applications, from FPGAs to Computing Paradigm, pp. 298–307, Springer, London, UK, 1998.
[11]
E. Bergeron, M. Feeley, and J. P. David, “Hardware JIT compilation for off-the-shelf dynamically reconfigurable FPGAs,” in Proceedings of the Joint European Conferences on Theory and Practice of Software 17th International Conference on Compiler Construction (CC ’08/ETAPS ’08), pp. 178–192, Springer, Berlin, Germany, 2008.
[12]
J. Surís, C. Patterson, and P. Athanas, “An efficient run-time router for connecting modules in FPGAs,” in Proceedings of the International Conference on Field Programmable Logic and Applications (FPL '08), pp. 125–130, September 2008.
[13]
K. Bruneel and D. Stroobandt, “Reconfigurability-aware structural mapping for LUT-based FPGAs,” in Proceedings of the International Conference on Reconfigurable Computing and FPGAs (ReConFig '08), pp. 223–228, December 2008.
[14]
T. Davidson, K. Bruneel, and D. Stroobandt, “Run-time reconfiguration for automatic hardware/software partitioning,” in Proceedings of International Conference on Reconfigurable Computing and FPGAs (ReConFig '10), pp. 424–429, IEEE Computer Society, Los Alamitos, Calif, USA, 2010.
[15]
A. Kalavade and P. A. Subrahmanyam, “Hardware/software partitioning for multifunction systems,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 17, no. 9, pp. 819–837, 1998.
[16]
“ABC: A System for Sequential Synthesis and Verification,” Berkeley Logic Synthesis and Verification Group, http://www.eecs.berkeley.edu/~alanmi/abc/.
[17]
N. Seewald and K. Sissell, “Braskem triples income, postpones venezuela projects,” Chemical Week, vol. 171, no. 22, 2009.
[18]
“Opencores.org, the RC6 cryptocraphy project,” http://opencores.org/project,cryptography.
[19]
T. F. Smith and M. S. Waterman, “Identification of common molecular subsequences,” Journal of Molecular Biology, vol. 147, no. 1, pp. 195–197, 1981.
[20]
F. Project, “Deliverable 2.6: Report on the process of the implementation of the Smith-Waterman algorithm on the FPGA architecture,” November 2007.
[21]
T. Davidson, K. Bruneel, H. Devos, and D. Stroobandt, “Applying parameterizable dynamic configurations to sequence alignment,” in Proceedings of International Conference on Parallel Computing (ParCo '10), p. 8, Lyon, France, 2010.
[22]
K. Bruneel, F. M. M. A. Abouelella, and D. Stroobandt, “Automatically mapping applications to a self-reconfiguring platform,” in Proceedings of Design, Automation and Test in Europe, K. Preas, Ed., vol. 4, pp. 964–969, Nice, France, 2009.
[23]
O. Blodget, P. James-Roxby, E. Keller, S. Mcmillan, and P. Sundararajan, “A self-reconfiguring platform,” in Proceedings of Field Programmable Logic and Applications, pp. 565–574, 2003.
[24]
B. Al Farisi, K. Bruneel, H. Devos, and D. Stroobandt, “Automatic tool flow for shift-register-LUT reconfiguration: making run-time reconfiguration fast and easy (abstract only),” in Proceedings of the 18th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA ’10), pp. 287–287, ACM, New York, NY, USA, 2010.