Just-In-Time Composition of Reconfigurable Overlays (Invited Talk)

Authors Rafael Zamacola , Andrés Otero , Alfonso Rodríguez , Eduardo de la Torre

Thumbnail PDF


  • Filesize: 4.16 MB
  • 13 pages

Document Identifiers

Author Details

Rafael Zamacola
  • Centro de Electrónica Industrial, Universidad Politécnica de Madrid, Spain
Andrés Otero
  • Centro de Electrónica Industrial, Universidad Politécnica de Madrid, Spain
Alfonso Rodríguez
  • Centro de Electrónica Industrial, Universidad Politécnica de Madrid, Spain
Eduardo de la Torre
  • Centro de Electrónica Industrial, Universidad Politécnica de Madrid, Spain

Cite AsGet BibTex

Rafael Zamacola, Andrés Otero, Alfonso Rodríguez, and Eduardo de la Torre. Just-In-Time Composition of Reconfigurable Overlays (Invited Talk). In 13th Workshop on Parallel Programming and Run-Time Management Techniques for Many-Core Architectures and 11th Workshop on Design Tools and Architectures for Multicore Embedded Computing Platforms (PARMA-DITAM 2022). Open Access Series in Informatics (OASIcs), Volume 100, pp. 2:1-2:13, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2022)


This paper describes a framework supporting the automatic composition of reconfigurable overlays laid on top of an FPGA to offload computing-intensive sections of a given application, from an embedded processor to a loosely coupled reconfigurable accelerator. Overlays provide an abstraction layer acting as an intermediate fabric between users' applications and the FPGA fabric. Among the existing flavors, the overlay template proposed in this work is based on a coarse-grain reconfigurable architecture featuring word-level operators, reducing long place-and-route times associated with FPGA designs. The proposed overlays are composed at run-time using a tile-based approach, in which pre-synthesized processing elements are stitched together following a 2D grid pattern and using dynamic and partial reconfiguration. The proposed reconfigurable architecture is accompanied by an automated toolchain that, relying on an LLVM intermediate representation, automatically converts the source code to a data-flow graph that is afterward mapped onto the overlay. A mapping example is provided in this paper to show the possibilities enabled by the framework, including loop mapping and loop unrolling support, features originally described in this work.

Subject Classification

ACM Subject Classification
  • Hardware → High-level and register-transfer level synthesis
  • FPGA
  • Dynamic Partial Reconfiguration
  • Overlay
  • LLVM
  • Compilation


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. David Bacon, Rodric Rabbah, and Sunil Shukla. Fpga programming for the masses: The programmability of fpgas must improve if they are to be part of mainstream computing. Queue, 11(2):40-52, 2013. Google Scholar
  2. Stuart Byma, J Gregory Steffan, Hadi Bannazadeh, Alberto Leon-Garcia, and Paul Chow. Fpgas in the cloud: Booting virtualized hardware accelerators with openstack. In 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines, pages 109-116. IEEE, 2014. Google Scholar
  3. Andrew Canis, Jongsok Choi, Mark Aldham, Victor Zhang, Ahmed Kammoona, Tomasz Czajkowski, Stephen D Brown, and Jason H Anderson. Legup: An open-source high-level synthesis tool for fpga-based processor/accelerator systems. ACM Transactions on Embedded Computing Systems (TECS), 13(2):1-27, 2013. Google Scholar
  4. Davor Capalija. Architecture, Mapping Algorithms and Physical Design of Mesh-of-Functional-Units FPGA Overlays for Pipelined Execution of Data Flow Graphs. PhD thesis, University of Toronto (Canada), 2017. Google Scholar
  5. S Alexander Chin and Jason H Anderson. An architecture-agnostic integer linear programming approach to cgra mapping. In Proceedings of the 55th Annual Design Automation Conference, pages 1-6, 2018. Google Scholar
  6. S Alexander Chin, Noriaki Sakamoto, Allan Rui, Jim Zhao, Jin Hee Kim, Yuko Hara-Azumi, and Jason Anderson. Cgra-me: A unified framework for cgra modelling and exploration. In 2017 IEEE 28th international conference on application-specific systems, architectures and processors (ASAP), pages 184-189. IEEE, 2017. Google Scholar
  7. Jordi Cortadella, Mike Kishinevsky, and Bill Grundmann. Self: Specification and design of synchronous elastic circuits. In International Workshop on Timing Issues in the Specification and Synthesis of Digital Systems (TAU). Citeseer, 2006. Google Scholar
  8. Nithin George, HyoukJoong Lee, David Novo, Tiark Rompf, Kevin J Brown, Arvind K Sujeeth, Martin Odersky, Kunle Olukotun, and Paolo Ienne. Hardware system synthesis from domain-specific languages. In 2014 24th International Conference on Field Programmable Logic and Applications (FPL), pages 1-8. IEEE, 2014. Google Scholar
  9. Intel. Intel® high level synthesis compiler (user guide). URL: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/hls/archives/ug-hls-18-0.pdf.
  10. Intel. Intel® partial reconfigurationuser guide, 2019. URL: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-qpp-pr.pdf.
  11. Xiangwei Li and Douglas L Maskell. Time-multiplexed fpga overlay architectures: A survey. ACM Transactions on Design Automation of Electronic Systems (TODAES), 24(5):1-19, 2019. Google Scholar
  12. Sen Ma, Zeyad Aklah, and David Andrews. Just in time assembly of accelerators. In Proceedings of the 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pages 173-178, 2016. Google Scholar
  13. Grant Martin and Gary Smith. High-level synthesis: Past, present, and future. IEEE Design & Test of Computers, 26(4):18-25, 2009. Google Scholar
  14. Mrunal Patel, Shenghsun Cho, Michael Ferdman, and Peter Milder. Runtime-programmable pipelines for model checkers on fpgas. In 2019 29th International Conference on Field Programmable Logic and Applications (FPL), pages 51-58. IEEE, 2019. Google Scholar
  15. Russell Tessier, Kenneth Pocek, and Andre DeHon. Reconfigurable computing architectures. Proceedings of the IEEE, 103(3):332-354, 2015. Google Scholar
  16. Kizheppatt Vipin and Suhaib A Fahmy. Fpga dynamic and partial reconfiguration: A survey of architectures, methods, and applications. ACM Computing Surveys (CSUR), 51(4):1-39, 2018. Google Scholar
  17. Xilinx. Vitis high-level synthesis user guide (ug1399). URL: https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_2/ug1399-vitis-hls.pdf.
  18. Xilinx. Xilinx, inc., dynamic function exchange, 2021. URL: https://www.xilinx.com/content/dam/xilinx/support/documentation/sw_manuals/xilinx2021_1/ug909-vivado-partial-reconfiguration.pdf.
  19. Rafael Zamacola, Alberto García Martínez, Javier Mora, Andrés Otero, and Eduardo de la Torre. Automated tool and runtime support for fine-grain reconfiguration in highly flexible reconfigurable systems. In 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), pages 307-307, 2019. URL: https://doi.org/10.1109/FCCM.2019.00048.
  20. Rafael Zamacola, Andres Otero, and Eduardo de la Torre. Multi-grain reconfigurable and scalable overlays for hardware accelerator composition. Journal of Systems Architecture, 121:102302, 2021. Google Scholar
  21. Rafael Zamacola, Andrés Otero, Alberto García, and Eduardo De La Torre. An integrated approach and tool support for the design of fpga-based multi-grain reconfigurable systems. IEEE Access, 8:202133-202152, 2020. URL: https://doi.org/10.1109/ACCESS.2020.3036541.