REFLECT: Rendering FPGAs to Multi-core Embedded Computing
The relentless increase in capacity of Field-Programmable Gate-Arrays (FPGAs) has made them vehicles of choice for both prototypes and final products requiring on-chip multi-core, heterogeneous and reconfigurable systems. Multiple cores can be embedded as hard- or soft-macros, have customizable instruction sets, multiple distributed RAMs and/or configurable interconnections. Their flexibility allows them to achieve orders of magnitude better performance than conventional computing systems via customization. Programming these systems, however, is extremely cumbersome and error-prone and as a result their true potential is only achieved very often at unreasonably high design efforts. This project covers developing, implementing and evaluating a novel compilation and synthesis system approach for FPGA-based platforms. We rely on Aspect-Oriented Specifications to convey critical domain knowledge to a mapping engine while preserving the advantages of a high-level imperative programming paradigm in early software development as well as program and application portability. We leverage Aspect-Oriented specifications and a set of transformations to generate an intermediate representation suitable to hardware mapping. A programming language, LARA, will allow the exploration of alternative architectures and design patterns enabling the generation of flexible hardware cores that can be easily incorporated into larger multi-core designs. We will evaluate the effectiveness of the proposed approach using partner-provided codes from the domain of audio processing and real-time avionics. We expect the technology developed in REFLECT to be integrated by our industrial partners, in particular by ACE, a leading compilation tool supplier for embedded systems, and by Honeywell, a worldwide solution supplier of embedded high-performance systems.
KeywordsDesign Pattern Design Flow Intermediate Representation Design Space Exploration Target Architecture
- 1.K. Paulsson, M. Hübner, and J. Becker, “Strategies to On- Line Failure Recovery in Self- Adaptive Systems based on Dynamic and Partial Reconfiguration,” in First NASA/ESA Conf. on Adaptive Hardware and Systems (AHS’2006), 15–18 June 2006, pp. 288–291.Google Scholar
- 2.G. Kiczales, “Aspect-Oriented Programming,” in ACM Computing Surveys (CSUR), special issue: position statements on strategic directions in computing research, 1996. 28(4es).Google Scholar
- 4.G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin, “Aspect Oriented Programming,” in Proc. of the European Conference on Object-Oriented Programming (ECOOP’97), Finland. Springer-Verlag LNCS 1241. June 1997.Google Scholar
- 5.J. Irwin, J.-M. Loingtier, J. Gilbert, G. Kiczales, J. Lamping, A. Mendhekar, and T. Shpeisman, “Aspect-Oriented Programming of Sparse Matrix Code,” in Proc. Int’l Scientific Computing in Object-Oriented Parallel Environments (ISCOPE’97), Springer-Verlag, LNCS 1343, 1997, pp. 249–256.Google Scholar
- 7.D. Boland, and G. Constantinides, “Automated Precision Analysis: A Polynomial Algebraic Approach” in Proc. IEEE Int’l Symp. on Field-Programmable Custom Computing Machines (FCCM’10), 2–4 May, 2010, pp. 157–164.Google Scholar
- 8.J. Clark, G. Constantinides, and P. Cheung, “Word-length selection for power minimization via nonlinear optimization,” in ACM Trans. Design Autom. Electron. Syst. (TODAES), 14(3), May 2009.Google Scholar
- 9.D. Lee, J. Villasenor, “A Bit-Width Optimization Methodology for Polynomial-Based Function Evaluation,” in IEEE Trans. on Computers, April, 2007, pp. 567–571.Google Scholar
- 10.W. Osborne, R. Cheung, J. Coutinho, W. Luk, and O. Mencer, “Automatic Accuracy-Guaranteed Bit-Width Optimization for Fixed and Floating-Point Systems,” in Proc. IEEE Int’l Conf. on Field Programmable Logic and Applications (FPL’07), 27–29 Aug. 2007, pp. 617–620.Google Scholar
- 11.A. DeHon, J. Adams, M. DeLorimier, N. Kapre, Y. Matsuda, H. Naeimi, M. Vanier, and M. Wrighton, “Design Patterns for Reconfigurable Computing,” in Proc. IEEE Symp. on Field-Programmable Custom Computing Machines (FCCM’04), April 20–23, 2004, pp. 13–23.Google Scholar
- 14.ISO/IEC 11172–3 “Information technology – Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s – Part 3: Audio”.Google Scholar
- 15.ISO/IEC 13818–3 “Information technology – Generic coding of moving pictures and associated audio information – Part 3: Audio”.Google Scholar
- 16.R. Lämmel, E. Visser, and J. Visser, “Strategic programming meets adaptive programming,” In Proc. 2nd Int’l Conf. on Aspect-Oriented Software Development (AOSD’03), Boston, Mass., March 17–21, 2003. ACM, New York, NY, USA, pp. 168–177.Google Scholar
- 17.J. Gradecki, and N. Lesiecki, Mastering AspectJ: Aspect-Oriented Programming in Java, Wiley, 2003.Google Scholar
- 18.W. Luk, J. Coutinho, T. Todman, Y. Lam, W. Osborne, K. Susanto, Q. Liu, and W. Wong, “A High-Level Compilation Toolchain for Heterogeneous Systems,” in Proc. IEEE Int’l SOC Conference (SOCC‘09), Sept. 2009, pp. 9–18.Google Scholar
- 19.ACE CoSy compiler development system, http://www.ace.nl/compiler/cosy.html.
- 20.ACE – Associated Compiler Experts bv., “CoSy CCMIR Definition”, Ref. CoSy-8002-ccmir, 2008.Google Scholar
- 21.Y. Yankova, K. Bertels, S. Vassiliadis, R. Meeuws, and A. Virginia, “Automated HDL Generation: Comparative Evaluation,” In Proc. Int’l Symp. on Circuits and Systems (ISCAS’07), May 2007, pp. 2750–2753.Google Scholar
- 22.J. Cardoso, P. Diniz, M. Monteiro, J. Fernandes, and J. Saraiva, “A Domain-Specific Aspect Language for Transforming MATLAB Programs,” in Domain-Specific Aspect Language Workshop (DSAL’2010), part of AOSD’2010, Rennes & Saint Malo, France, March 15–19, 2010.Google Scholar
- 23.J. Cardoso, and P. Diniz, Compilation Techniques for Reconfigurable Architectures, Springer, Oct. 2008.Google Scholar
- 30.Y. Yankova, K. Bertels, S. Vassiliadis, R. Meeuws, and A. Virginia, “Automated HDL Generation: Comparative Evaluation,” In Proc. Int’l Symp. on Circuits and Systems (ISCAS2007), May 2007.Google Scholar
- 31.E. Panainte, K. Bertels, and S. Vassiliadis, “The Molen Compiler for Reconfigurable Processors,” in ACM Trans. in Embedded Computing Systems (TECS), 6(1), Article 6, Feb. 2007.Google Scholar
- 34.Q. Liu, T. Todman, J. Coutinho, W. Luk, and G. Constantinides, “Optimising designs by combining model-based and pattern-based transformations”, in Proc. 19th Int’l Conf. on Field Programmable Logic and Applications (FPL’09), Aug. 31-Sept. 2, 2009, pp. 308–313.Google Scholar
- 35.J. Coutinho, J. Jiang, and W. Luk, “Interleaving behavioral and cycle-accurate descriptions for reconfigurable hardware compilation,” in Proc. IEEE Symp. on Field Programmable Custom Computing Machines (FCCM’05), 18–20 April, 2005, pp. 245–254.Google Scholar
- 37.M. Bowen, Handel-C Language Ref. Manual, Embedded Solutions Ltd., 2.1 ed., 1998.Google Scholar
- 38.Mitrionics AB Inc., The Mitrion Processor, Product Overview, Sweden, 2005. http://www.mitrion.com (accessed on Dec. 2010).
- 39.Nallatech, http://www.nallatech.com (accessed on Dec. 2010).
- 40.J. Tripp, M. Gokhale, K. Peterson, “Trident: From High-Level Language to Hardware Circuitry,” in IEEE Computer, March 2007, vol. 40, no 3, pp. 28–37.Google Scholar
- 41.M. Gokhale, J. Stone, J. Arnold, and M. Kalinowski, “Stream-Oriented FPGA Computing in the Streams-C High Level Language,” in Proc. IEEE Symp. on FPGAs for Custom Computing Machines (FCCM’00), April 2000, pp. 126–135.Google Scholar
- 42.Z. Guo, W. Najjar, and A. Buyukkurt, “Efficient Hardware Code Generation for FPGAs,” in ACM Trans. on Architecture and Compiler Optimizations (TACO) Vol. 5, No. 1, Article 6, May 2008.Google Scholar
- 43.Impulse Accelerated Technologies, Inc., http://www.impulseaccelerated.com/ (Dec. 2010).
- 44.Catapult C Synthesis Overview, http://www.mentor.com/esl/catapult/ (Dec. 2010).
- 45.C. Huang, S. Ravi, A. Raghunathan, and N. Jha, “Synthesis of heterogeneous distributed architectures for memory-intensive applications,” in Proc. Int’l Conf. Computer-Aided Design (ICCAD’03), Nov. 2003, pp. 46–53.Google Scholar