Skip to main content

Related Work

  • Chapter
  • First Online:
  • 761 Accesses

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. J.M.P. Cardoso, P. Diniz, Compilation Techniques for Reconfigurable Architectures (Springer, New York, 2008)

    Google Scholar 

  2. 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

    Google Scholar 

  3. 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

    Google Scholar 

  4. J.M.P. Cardoso, H. Neto, Compilation for FPGA-based reconfigurable hardware. IEEE. Des. Test. Comput Mag. 20(2), 65–75 (2003) March/April

    Article  Google Scholar 

  5. M. Weinhardt, W. Luk, Pipeline vectorization. IEEE. Trans. CAD. Integr. Circuits. Syst. 20(2), 234–248 (2001)

    Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. D. Lee, A. Abdul Gaffar, O. Mencer, W. Luk, Optimizing hardware function evaluation. IEEE. Trans. Comput. 54(12), 1520–1531 (2005)

    Article  Google Scholar 

  8. 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

    Google Scholar 

  9. E. Panainte, K. Bertels, S. Vassiliadis, The Molen compiler for reconfigurable processors. ACM. Trans. Embed. Comput. Syst. (TECS) 6(1) (2007) Article 6, Feb

    Google Scholar 

  10. E. Panainte, K. Bertels, S. Vassiliadis, Interprocedural compiler optimization for partial run-time reconfiguration. J. VLSI Sig. Proc. 43(2), 161–172 (2006)

    Article  MATH  Google Scholar 

  11. J. Cardoso, On combining temporal partitioning and sharing of functional units in compilation for reconfigurable architectures. IEEE. Trans. Comput. 52(10), 1362–1375 (2003)

    Article  MathSciNet  Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Article  Google Scholar 

  15. K.L.M. Bertels, Hardware/Software Co-design for Heterogeneous Multi-core Platforms (Springer, Drodrecht Heidelberg London New York, 2012)

    Google Scholar 

  16. 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 ComputingFrom FPGAs to Hardware/Software Codesign (Springer, New York, 2011)

    Google Scholar 

  17. S. Vassiliadis, S. Wong, G. Gaydadjiev, K. Bertels, G. Kuzmanov, E. Panainte, The molen polymorphic processor. IEEE. Trans. Comput. 53(11), 1363–1375 (2004)

    Article  Google Scholar 

  18. 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

    Google Scholar 

  19. 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

    Google Scholar 

  20. 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

    Google Scholar 

  21. 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

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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)

    Google Scholar 

  26. 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

    Google Scholar 

  27. 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

    Google Scholar 

  28. 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)

    Google Scholar 

  29. G. Constantinides, Word-length optimization for differentiable nonlinear systems. ACM. Trans. Des. Autom. Electron. Syst. 11(1), 26–43 (2006)

    Article  Google Scholar 

  30. Altera Corporation, Nios II C2H compiler user guide (Nov. 2009)

    Google Scholar 

  31. Catapult C Synthesis Overview, http://www.mentor.com/esl/catapult/ (Dec. 2010)

  32. 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)

    Google Scholar 

  33. Xilinx Inc., Vivado Design Suite, User Guide, High-Level Synthesis, UG902 (v2012.2), July, 25, 2012

    Google Scholar 

  34. 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

    Google Scholar 

  35. 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

    Google Scholar 

  36. Nallatech, http://www.nallatech.com. Accessed Dec 2010

  37. J. Tripp, M. Gokhale, K. Peterson, Trident: from high-level language to hardware circuitry. IEEE. Comp. 40(3), 28–37 (2007)

    Article  Google Scholar 

  38. 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

    Google Scholar 

  39. Z. Guo, W. Najjar, A. Buyukkurt, Efficient hardware code generation for FPGAs. ACM. Trans. Archit. Compil. Optim. 5(1) (2008) Article 6

    Google Scholar 

  40. 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

  41. M. Bowen, Handel-C Language Ref. Manual, 2.1 edn. Embedded Solutions Ltd., (1998)

    Google Scholar 

  42. Mentor Graphics, Handel-C Language Reference Manual (2012)

    Google Scholar 

  43. Mitrionics AB Inc., The Mitrion Processor, Product Overview (Sweden, 2005). http://www.mitrion.com. Accessed Dec 2010

  44. Mitrionics, The Mitrion Accelerated Computing Platform (2012), http://www.mitrionics.com/

  45. 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)

    Article  Google Scholar 

  46. 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

    Google Scholar 

  47. M. Gokhale, J. Kaba, A. Marks, J. Kim, A malleable architecture generator for FPGA computing (SPIE 96, USA, 1996)

    Google Scholar 

  48. Impulse Accelerated Technologies, Inc., http://www.impulseaccelerated.com/ (Dec 2010)

  49. D. Pellerin, S. Thibault, Practical FPGA programming in C (Prentice Hall Professional Technical Reference, 2005)

    Google Scholar 

  50. 1666–2011—IEEE Standard for Standard SystemC Language, Reference Manual, Institute of Electrical and Electronics Engineers, Inc., http://www.systemc.org

  51. Maxeler Tech., Maxcompiler White Paper, http://maxeler.com (2011)

  52. 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

    Google Scholar 

  53. Automatically Tuned Linear Algebra Software (ATLAS), http://math-atlas.sourceforge.net/

  54. 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 (IPDPS09), IEEE Computer Society, Washington, DC, USA, 2009, pp. 1–12

    Google Scholar 

  55. 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

    Google Scholar 

  56. 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/

  57. 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

    Google Scholar 

  58. CETUSA Source-To-Source Compiler Infrastructure For C Programs, http://cetus.ecn.purdue.edu/

  59. 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

    Google Scholar 

  60. 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

    Google Scholar 

  61. Q. Yi, Poet: a scripting language for applying parameterized source-to-source program transformations. Softw. Pract. Exp. 42(6), 675–706 (2012)

    Google Scholar 

  62. G. Kiczales, Aspect-oriented programming. ACM. Comput. Surv. 28(4) (1996)

    Google Scholar 

  63. 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

    Google Scholar 

  64. J. Gradecki, N. Lesiecki, Mastering AspectJ: Aspect-Oriented Programming in Java (Wiley, New York, 2003)

    Google Scholar 

  65. D. Lohmann, O. Spinczyk, Aspect-Oriented Programming with C++ and AspectC++. Tutorial, AOSD’2007, March 13, 2007

    Google Scholar 

  66. 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)

    Google Scholar 

  67. 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

    Google Scholar 

  68. 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

    Google Scholar 

  69. 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

    Google Scholar 

  70. 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

    Google Scholar 

  71. 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

    Google Scholar 

  72. 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

    Google Scholar 

  73. 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

    Google Scholar 

  74. 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)

    Google Scholar 

  75. K. Paulsson, M. Hübner, J. Becker: On-line optimization of FPGA power-dissipation by exploiting run-time adaption of communication primitives, SBCCI2006, Brazil

    Google Scholar 

  76. 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

    Google Scholar 

  77. 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

    Google Scholar 

  78. 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

    Google Scholar 

  79. 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

    Google Scholar 

  80. 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

    Google Scholar 

  81. 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

    Google Scholar 

  82. Xilinx Inc., XST User Guide, UG627 (v 11.3), September 16, 2009

    Google Scholar 

  83. Xilinx Inc., XPower Estimator User Guide, UG440 (v2012.2/14.2), July, 25, 2012

    Google Scholar 

  84. Xilinx Inc., Command Line Tools User Guide, UG628 (v 14.2), July, 25, 2012

    Google Scholar 

  85. N. Voros, A. Rosti, M. Hübner, Dynamic System Reconfiguration in Heterogeneous Platforms: The MORPHEUS Approach (Springer-Verlag, 2009)

    Google Scholar 

  86. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to João M. P. Cardoso .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics