Abstract
This chapter presents the most relevant related work with respect to the compilation and synthesis approach developed in the context of the REFLECT project. We survey current techniques and methodologies for the mapping of computations described in high-level programming languages to reconfigurable architectures. We give particular emphasis to compilation systems that map imperative (C-like) languages to target FPGA-based systems. We also describe previous work on compiler optimizations, automated high-level synthesis, and strategies for back-end synthesis, mapping as well as placement and routing. Finally, we include an overview of EU-funded projects relevant to REFLECT.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
J.M.P. Cardoso, P. Diniz, Compilation Techniques for Reconfigurable Architectures (Springer, New York, 2008)
J.M.P. Cardoso, P. Diniz, M. Weinhardt, Compiling for reconfigurable computing: a survey. ACM. Comput. Surv. (CSUR), 42(4), 1–65 (2010) June, Article 13
P. Diniz, M. Hall, J. Park, B. So, H. Ziegler, Automatic mapping of c to FPGAs with the defacto compilation and synthesis systems. J. Microprocess. Microsyst. 29(2–3), 51–62 (2005) 1 April
J.M.P. Cardoso, H. Neto, Compilation for FPGA-based reconfigurable hardware. IEEE. Des. Test. Comput Mag. 20(2), 65–75 (2003) March/April
M. Weinhardt, W. Luk, Pipeline vectorization. IEEE. Trans. CAD. Integr. Circuits. Syst. 20(2), 234–248 (2001)
Q. Liu, G. Constantinides, K. Masselos, P. Cheung, Combining data reuse with data-level parallelization for fpga targeted hardware compilation: a geometric programming framework. IEEE. Trans. Comput. Aided. Des. 28(3), 305–315 (2009)
D. Lee, A. Abdul Gaffar, O. Mencer, W. Luk, Optimizing hardware function evaluation. IEEE. Trans. Comput. 54(12), 1520–1531 (2005)
Y. Yankova, K. Bertels, S. Vassiliadis, R. Meeuws, A. Virginia, Automated HDL Generation: Comparative Evaluation, in Proc. Int. Symp. on Circuits and Systems (ISCAS2007), May 2007
E. Panainte, K. Bertels, S. Vassiliadis, The Molen compiler for reconfigurable processors. ACM. Trans. Embed. Comput. Syst. (TECS) 6(1) (2007) Article 6, Feb
E. Panainte, K. Bertels, S. Vassiliadis, Interprocedural compiler optimization for partial run-time reconfiguration. J. VLSI Sig. Proc. 43(2), 161–172 (2006)
J. Cardoso, On combining temporal partitioning and sharing of functional units in compilation for reconfigurable architectures. IEEE. Trans. Comput. 52(10), 1362–1375 (2003)
Q. Liu, T. Todman, J. Coutinho, W. Luk, G. Constantinides, Optimising designs by combining model-based and pattern-based transformations, in Proceedings of the 19th International Conference on Field Programmable Logic and Applications (FPL’09), Aug. 31–Sept. 2, pp. 308–313 (2009)
J. Coutinho, J. Jiang, W. Luk, Interleaving behavioral and cycle-accurate descriptions for reconfigurable hardware compilation, in Proceedings of IEEE Symposium on Field Programmable Custom Computing Machines (FCCM’05), 18–20 April, pp. 245–254 (2005)
K. Bertels, V. Sima, Y. Yankova, G. Kuzmanov, W. Luk, J. Coutinho, F. Ferrandi, C. Pilato, M. Lattuada, D. Sciuto, A. Michelotti, HArtes: hardware-software codesign for heterogeneous multicore platforms. IEEE. Micro. 30(5), 88–97 (2010)
K.L.M. Bertels, Hardware/Software Co-design for Heterogeneous Multi-core Platforms (Springer, Drodrecht Heidelberg London New York, 2012)
G. Kuzmanov, V. Sima, K. Bertels, G. Coutinho, W. Luk, G. Marchiori, R. Tripiccione, F. Ferrandi, hArtes: holistic approach to reconfigurable real-time embedded systems, in Reconfigurable Computing—From FPGAs to Hardware/Software Codesign (Springer, New York, 2011)
S. Vassiliadis, S. Wong, G. Gaydadjiev, K. Bertels, G. Kuzmanov, E. Panainte, The molen polymorphic processor. IEEE. Trans. Comput. 53(11), 1363–1375 (2004)
C. Morra, J.M.P. Cardoso, J. Becker, Using rewriting-logic to match patterns of instructions from a compiler intermediate form to coarse-grained processing elements, in Proc. of 21st IEEE Int. Parallel & Distributed Processing Symp. (IPDPS’07), Long Beach, USA, 2007
C. Morra, Configware design space exploration using rewriting-logic, in Proceedings of the 16th Int. Conf. on Field Programmable Logic and Applications (FPL’06), Madrid, Spain, 2006
C. Morra, M. Sackmann, S. Shukla, J. Becker, R. Hartenstein, From equation to VHDL: using rewriting-logic for automated function generation, in Proc. of the 16th Int. Conf. on Field Programmable Logic and Applications (FPL’06), Madrid, Spain, 2006
C. Morra, M. Sackmann, J. Becker, R. Hartenstein, Using rewriting logic to generate different implementations of polynomial approximations in coarse-grained architectures, in Proc. of the 2nd Int. Workshop on Reconfigurable Communication Centric System-on-Chips (ReCoSoC’06), July 2006
O. Mencer, D.J. Pearce, L.W. Howes, W. Luk, Design space exploration with a stream compiler, in Proc. of the Int. Conf. on Field Programmable Technology (FPT’03), IEEE (2003)
Y. Yankova, K.L.M. Bertels, S. Vassiliadis, R. J. Meeuws, A.J.R. Virginia, Automated HDL generation: comparative evaluation, in Proc. of the Int. Symp. on Circuits and Systems (ISCAS2007), May 2007
P. Diniz, J. Park, Automatic synthesis of data storage and control structures for FPGA-based computing machines, in Proc. of the IEEE Symp. on FPGAs for Custom Computing Machines, Oct. (2000) pp. 91–100
N. Baradaran, P. Diniz, Memory parallelism using custom array mapping to heterogeneous storage structures, in Proc. of the 2006 IEEE Int. Conf. on Field-Programmable Logic (FPL’06), August (2006)
J.M.P. Cardoso, M. Weinhardt, Compilation and temporal partitioning for a coarse-grain reconfigurable architecture (Chap. 9), in New Algorithms, Architectures, and Applications for Reconfigurable Computing (Springer, US, 2005), pp. 105–115
J.M.P. Cardoso, Dynamic loop pipelining in data-driven architectures, in Proc. of the ACM Int. Conf. on Computing Frontiers (CF’05), Ischia, Italy, ACM Press, 4–6 May 2005, pp. 106–115
J. Clarke, G.A. Constantinides, P.Y.K. Cheung, Word-length selection for power minimization via non-linear optimization. ACM. Trans. Des. Autom. Electron. Syst. 14(3), 1–28 (2009)
G. Constantinides, Word-length optimization for differentiable nonlinear systems. ACM. Trans. Des. Autom. Electron. Syst. 11(1), 26–43 (2006)
Altera Corporation, Nios II C2H compiler user guide (Nov. 2009)
Catapult C Synthesis Overview, http://www.mentor.com/esl/catapult/ (Dec. 2010)
T. Bollaert, Catapult synthesis: a practical introduction to interactive C synthesis (Chap. 3), in High-Level Synthesis: From Algorithm to Digital Circuit, ed. by P. Coussy, A. Morawiec (Springer, Berlin, 2008)
Xilinx Inc., Vivado Design Suite, User Guide, High-Level Synthesis, UG902 (v2012.2), July, 25, 2012
Y. Yankova, G. Kuzmanov, K. Bertels, G. Gaydadjiev, Y. Lu, S. Vassiliadis, DWARV: delftworkbench automated reconfigurable VHDL generator, in Proceedings of the 17th International Conference on Field Programmable Logic and Applications (FPL’07), Amsterdam, The Netherlands, 27–29 Aug. 2007, pp. 697–701
R. Nane, V.M. Sima, B. Olivier, R. Meeuws, Y. Yankova, K.L.M. Bertels, “DWARV 2.0: a CoSy-based C-to-VHDL hardware compiler, in Proceedings of the 22nd International Conference on Field Programmable Logic and Applications (FPL’2012), Oslo, Norway, August 2012
Nallatech, http://www.nallatech.com. Accessed Dec 2010
J. Tripp, M. Gokhale, K. Peterson, Trident: from high-level language to hardware circuitry. IEEE. Comp. 40(3), 28–37 (2007)
G. Villarreal, A. Park, W. Najjar, R. Halstead, Designing modular hardware accelerators in c with ROCCC 2.0, in Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines (FCCM’10), IEEE Computer Society, Washington, DC, USA, April 2010, pp. 127–134
Z. Guo, W. Najjar, A. Buyukkurt, Efficient hardware code generation for FPGAs. ACM. Trans. Archit. Compil. Optim. 5(1) (2008) Article 6
S. Gupta, R. Gupta, N. Dutt, A. Nicolau, SPARK: A Parallelizing Approach to the High-level Synthesis of Digital Circuits, 1st edn. (Springer, May 2004). Project page: http://mesl.ucsd.edu/spark
M. Bowen, Handel-C Language Ref. Manual, 2.1 edn. Embedded Solutions Ltd., (1998)
Mentor Graphics, Handel-C Language Reference Manual (2012)
Mitrionics AB Inc., The Mitrion Processor, Product Overview (Sweden, 2005). http://www.mitrion.com. Accessed Dec 2010
Mitrionics, The Mitrion Accelerated Computing Platform (2012), http://www.mitrionics.com/
W. Najjar, W. Bohm, B. Draper, J. Hammes, R. Rinker, J. Beveridge, M. Chawathe, C. Ross, High-level abstraction for reconfigurable computing. IEEE. Comput. 8, 63–69 (2003)
M. Gokhale, J. Stone, J. Arnold, M. Kalinowski, Stream-oriented FPGA computing in the streams-c high level language, in Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines (FCCM’00), April 2000, pp. 126–135
M. Gokhale, J. Kaba, A. Marks, J. Kim, A malleable architecture generator for FPGA computing (SPIE 96, USA, 1996)
Impulse Accelerated Technologies, Inc., http://www.impulseaccelerated.com/ (Dec 2010)
D. Pellerin, S. Thibault, Practical FPGA programming in C (Prentice Hall Professional Technical Reference, 2005)
1666–2011—IEEE Standard for Standard SystemC Language, Reference Manual, Institute of Electrical and Electronics Engineers, Inc., http://www.systemc.org
Maxeler Tech., Maxcompiler White Paper, http://maxeler.com (2011)
C. Huang, S. Ravi, A. Raghunathan, N. Jha, Synthesis of heterogeneous distributed architectures for memory-intensive applications, in Proceedings International Conference on Computer-Aided Design (ICCAD’03), Nov. 2003, pp. 46–53
Automatically Tuned Linear Algebra Software (ATLAS), http://math-atlas.sourceforge.net/
A. Tiwari, C. Chen, J, Chame, M. Hall, J. Hollingsworth, A scalable auto-tuning framework for compiler optimizations, in Proceedings of the International Symposium on Parallel and Distributed Processing (IPDPS’09), IEEE Computer Society, Washington, DC, USA, 2009, pp. 1–12
J. Xiong, J. Johnson, R. Johnson, D. Padua, SPL: a language and compiler for DSP algorithms, in Proceedings of the ACM Conference on Programming Language Design and Implementation (PLDI’01), ACM, New York, NY, USA, June 2001, pp. 298–308
C. Silvano, W. Fornaciari, G. Palermo, V. Zaccaria, F. Castro, M. Martinez, R. Zafalon, S. Bocchio, M. Wouters, G. Vanmeerbeeck, P. Avasare, C. Couvreur, L. Onesti, C. Kavka, A. Turco, U. Bondi, G. Mariani, E. Villar, H. Posadas, C. Y. q. Wu, F. Dongrui, Z. Hao, T. Shibin, Multicube: multi-objective design space exploration of multi-core architectures, in Proceedings of the IEEE Annual Symposium on VLSI (ISVLSI’10), Kefalonia, Greece, July 5–7, 2010, pp. 488-493. Project webpage: http://www.multicube.eu/
M. Christen, O. Schenk, H. Burkhart, Patus: a code generation and autotuning framework for parallel iterative stencil computations on modern microarchitectures, in Proceedings of the IEEE International Parallel & Distributed Processing Symposium (IPDPS’11) (IEEE Computer Society, 2011), pp. 676–687
CETUS—A Source-To-Source Compiler Infrastructure For C Programs, http://cetus.ecn.purdue.edu/
C. Bastoul, Code generation in the polyhedral model is easier than you think, in Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques (PACT ‘04) (IEEE Computer Society, Washington), pp. 7–16
M. Hall, J. Chame, C. Chen, J. Shin, G. Rudy, M. Khan, Loop transformation recipes for code generation and auto-tuning, in Proceedings of the 22nd International Conference on Languages and Compilers for Parallel Computing (LCPC’09) (Newark, DE, Springer-Verlag, Berlin, Heidelberg, 2010) pp. 50–64
Q. Yi, Poet: a scripting language for applying parameterized source-to-source program transformations. Softw. Pract. Exp. 42(6), 675–706 (2012)
G. Kiczales, Aspect-oriented programming. ACM. Comput. Surv. 28(4) (1996)
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Videira Lopes, J.-Marc Loingtier, J. Irwin, Aspect oriented programming, in Proceedings of the European Conference on Object-Oriented Programming (ECOOP’97) (LNCS 1241 Springer-Verlag, Finland, June 1997), pp. 220–242
J. Gradecki, N. Lesiecki, Mastering AspectJ: Aspect-Oriented Programming in Java (Wiley, New York, 2003)
D. Lohmann, O. Spinczyk, Aspect-Oriented Programming with C++ and AspectC++. Tutorial, AOSD’2007, March 13, 2007
O. Spinczyk, A. Gal, W. Schröder-Preikschat, AspectC++: an aspect-oriented extension to the C++ programming language, in Proceedings of the 40th International Conference on Tools Pacific: Objects for Internet, Mobile and Embedded Applications, pp. 53–60 (2002)
B. Harbulot, J.R. Gurd, A join point for loops in AspectJ, in Proceedings of the 5th International Conference on Aspect-Oriented Software Development (AOSD ’06) (ACM, NY, USA, 2006), pp. 63–74
M. Poggi. @AspectJ—An extension to the AspectJ join point selection mechanism to support @Java annotation meta-facility. Master thesis (in Italian), Università di Genova, Oct 2009
M. Eichberg, M. Mezini, K. Ostermann, Pointcuts as functional queries, in Programming Languages and Systems, ed. by W.-N. Chin (Springer, Berlin/Heidelberg, 2004), pp. 366–381
W. Luk, J. Coutinho, T. Todman, Y. Lam, W. Osborne, K. Susanto, Q. Liu, W. Wong, A high-level compilation toolchain for heterogeneous systems, in Proceedings of the IEEE International SOC Conference (SOCC’09), Sept. 2009, pp. 9–18
A. DeHon, J. Adams, M. DeLorimier, N. Kapre, Y. Matsuda, H. Naeimi, M. Vanier, M. Wrighton, Design patterns for reconfigurable computing, in Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’04), April 20–23, 2004, pp. 13–23
M. Boden, T. Fiebig, T. Meissner, S. Ruelke, J. Becker, High-level synthesis of hw tasks targeting run-time reconfigurable FPGAs, in Proceedings of the 21th International Parallel and Distributed Processing Symposium (IPDPS), Reconfigurable Architectures Workshop (RAW), Long Beach, CA, USA, Mar 2007
A. Brito, M. Kuehnle, E. Melcher, J. Becker, A general purpose partially reconfigurable processor simulator (PReProS), in Proceedings of the 21th International Parallel and Distributed Processing Symposium (IPDPS’07), Reconfigurable Architectures Workshop (RAW), Long Beach, CA, USA, Mar 2007
K. Paulsson, M. Hübner, J. Becker, Strategies to On- Line Failure Recovery in Self-Adaptive Systems based on Dynamic and Partial Reconfiguration (AHS2006, Turkey, 2006)
K. Paulsson, M. Hübner, J. Becker: On-line optimization of FPGA power-dissipation by exploiting run-time adaption of communication primitives, SBCCI2006, Brazil
A. Thomas, J. Becker, Multi-grained reconfigurable hardware architecture with online-adaptive routing techniques, in IFIP International Conference on Very Large Scale Integration (IFIP VLSI-SOC 2005), Perth, Australia, Oct. 17–19, 2005
M. Hübner, C. Schuck, M. Kühnle, J. Becker, New 2-dimensional partial dynamic reconfiguration techniques for real-time adaptive microelectronic circuits, in Proceedings of the 2006 IEEE Annual Symposium on VLSI (ISVLSI), Karlsruhe, Germany, March 2006
C. Schuck, M. Kuehnle, M. Huebner, J. Becker, A framework for dynamic 2D placement on FPGAs, in Proceedings of the IEEE International Symposium on Parallel and Distributed Processing (IPDPS’2008), IEEE Computer Society, 2008, pp. 1–7
P. Sedcole, P. Cheung, G. Constantinides, W. Luk, On-chip communication in run-time assembled reconfigurable systems, in Proceedings International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS), July 2006, pp. 168–176
M. Huebner, L. Braun, D. Goehringer, J. Becker, Run-time reconfigurable adaptive multilayer network-on-chip for FPGA-based systems, in Proceedings of the IEEE International Symposium on Parallel and Distributed Processing (IPDPS’2008), IEEE Computer Society, 2008, pp. 1–6
M. Kuehnle, M. Huebner, J. Becker, A. Deledda, C. Mucci, F. Ries, A.M. Coppola, L. Pieralisi, R. Locatelli, G. Maruccia, T. DeMarco, F. Campi, An interconnect strategy for a heterogeneous, reconfigurable SoC. Des. Test. Comput. IEEE. 25(5), 442–451
Xilinx Inc., XST User Guide, UG627 (v 11.3), September 16, 2009
Xilinx Inc., XPower Estimator User Guide, UG440 (v2012.2/14.2), July, 25, 2012
Xilinx Inc., Command Line Tools User Guide, UG628 (v 14.2), July, 25, 2012
N. Voros, A. Rosti, M. Hübner, Dynamic System Reconfiguration in Heterogeneous Platforms: The MORPHEUS Approach (Springer-Verlag, 2009)
A. Grasset, P. Brelet, P. Millet, P. Bonnot, F. Campi, N. Voros, M. Huebner, M. Kuehnle, F. Thoma, W. Putzke-Roeming, A. Schneider, Morpheus: exploitation of reconfiguration for increased run-time flexibility and self-adaptive capabilities in future SoCs, in Reconfigurable Computing: From FPGAs to Hardware/Software Codesign (Springer, New York, 2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer Science+Business Media New York
About this chapter
Cite this chapter
Cardoso, J.M.P., F. Coutinho, J.G.d., Diniz, P.C. (2013). Related Work. In: Cardoso, J., Diniz, P., de Figueiredo Coutinho, J., Petrov, Z. (eds) Compilation and Synthesis for Embedded Reconfigurable Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-4894-5_7
Download citation
DOI: https://doi.org/10.1007/978-1-4614-4894-5_7
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-4893-8
Online ISBN: 978-1-4614-4894-5
eBook Packages: EngineeringEngineering (R0)