i-Core: A Runtime-Reconfigurable Processor Platform for Cyber-Physical Systems

  • Marvin DamschenEmail author
  • Martin Rapp
  • Lars Bauer
  • Jörg HenkelEmail author


We provide an overview of i-Core (invasive Core), a processor platform with a runtime-reconfigurable instruction set. i-Core couples a general-purpose processor core with a reconfigurable fabric that enables the configuration of application-specific hardware accelerators at runtime. This way, i-Core can adapt its instruction set to choose a runtime trade-off between the resources allocated and the performance achieved for application-specific acceleration. The adaptivity of i-Core is leveraged to advance several research areas that are addressed in this chapter. First, we provide an overview of the i-Core architecture. Then, we summarize our research findings in the areas of task scheduling, reliability, and hard real-time as well as multi-core systems. The focus of this summary is on our recent findings in the context of worst-case execution time guarantees.



This work was partly supported by the German Research Foundation (DFG) as part of the Transregional Collaborative Research Center “Invasive Computing” (SFB/TR 89) and as part of the priority program “Dependable Embedded Systems” (SPP 1500). Parts of the research summarized in this chapter were conducted together with Dr. Artjom Grudnitsky and Dr. Hongyan Zhang who earned their PhDs under the supervision of Prof. Dr. Jörg Henkel in 2015 and 2017, respectively. We want to thank them for fruitful discussions.


  1. 1.
    Abdelfattah, M.S., Bauer, L., Braun, C., Imhof, M.E., Kochte, M.A., Zhang, H., Henkel, J., Wunderlich, H.J.: Transparent structural online test for reconfigurable systems. In: IEEE International On-Line Testing Symposium (IOLTS), pp. 37–42 (2012)Google Scholar
  2. 2.
    AbsInt: aiT Worst-Case Execution Time Analyzers. Website: (2018). [Online; accessed 10-Aug-2018]
  3. 3.
    Achronix: Speedchip FPGA chiplets. Website: (2018). [Online; accessed 10-Aug-2018]
  4. 4.
    Axer, P., Ernst, R., Falk, H., Girault, A., Grund, D., Guan, N., Jonsson, B., Marwedel, P., Reineke, J., Rochange, C., Sebastian, M., Hanxleden, R.V., Wilhelm, R., Yi, W.: Building timing predictable embedded systems. ACM Trans. on Embed. Comput. Syst. 13(4), 82:1–82:37 (2014)Google Scholar
  5. 5.
    Ballabriga, C., Cassé, H., Rochange, C., Sainrat, P.: OTAWA: An open toolbox for adaptive WCET analysis. In: IFIP International Workshop on Software Technologies for Embedded and Ubiquitous Systems (SEUS), pp. 35–46. Springer (2010)Google Scholar
  6. 6.
    Bauer, L., Braun, C., Imhof, M.E., Kochte, M.A., Schneider, E., Zhang, H., Henkel, J., Wunderlich, H.J.: Test strategies for reliable runtime reconfigurable architectures. IEEE Transactions on Computers (TC), Special Section on Adaptive Hardware and Systems 62(8), 1494–1507 (2013)Google Scholar
  7. 7.
    Bauer, L., Grudnitsky, A., Shafique, M., Henkel, J.: PATS: a performance aware task scheduler for runtime reconfigurable processors. In: Field-Programmable Custom Computing Machines (FCCM), pp. 208–215 (2012)Google Scholar
  8. 8.
    Bauer, L., Henkel, J.: Run-time Adaptation for Reconfigurable Embedded Processors. Springer Science+Business Media, LLC (2011)Google Scholar
  9. 9.
    Bauer, L., Shafique, M., Henkel, J.: A computation-and communication-infrastructure for modular special instructions in a dynamically reconfigurable processor. In: Int. Conf. on Field Programmable Logic and Applications, pp. 203–208 (2008)Google Scholar
  10. 10.
    Bauer, L., Shafique, M., Henkel, J.: Cross-architectural design space exploration tool for reconfigurable processors. In: Conference on Design, Automation and Test in Europe (DATE), pp. 958–963 (2009)Google Scholar
  11. 11.
    Bauer, L., Shafique, M., Henkel, J.: Concepts, architectures, and run-time systems for efficient and adaptive reconfigurable processors. In: NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pp. 80–87 (2011)Google Scholar
  12. 12.
    Benkrid, K., Liu, Y., Benkrid, A.: A highly parameterized and efficient FPGA-based skeleton for pairwise biological sequence alignment. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 17(4), 561–570 (2009)CrossRefGoogle Scholar
  13. 13.
    Biondi, A., Balsini, A., Pagani, M., Rossi, E., Marinoni, M., Buttazzo, G.: A framework for supporting real-time applications on dynamic reconfigurable FPGAs. In: Real-Time Syst. Symp., pp. 1–12 (2016)Google Scholar
  14. 14.
    Chen, L., Mitra, T.: Shared reconfigurable fabric for multi-core customization. In: Design Automation Conference (DAC), pp. 830–835 (2011)Google Scholar
  15. 15.
    Damschen, M., Bauer, L., Henkel, J.: Extending the WCET problem to optimize for runtime-reconfigurable processors. ACM Trans. on Archit. and Code Optim. 13(4), 45:1–45:24 (2016)Google Scholar
  16. 16.
    Damschen, M., Bauer, L., Henkel, J.: CoRQ: Enabling runtime reconfiguration under WCET guarantees for real-time systems. IEEE Embedded Systems Letters 9(3), 77–80 (2017)CrossRefGoogle Scholar
  17. 17.
    Damschen, M., Bauer, L., Henkel, J.: Timing analysis of tasks on runtime reconfigurable processors. IEEE Trans. on Very Large Scale Integration Syst. 25(1), 294–307 (2017)CrossRefGoogle Scholar
  18. 18.
    Das, A., Nguyen, D., Zambreno, J., Memik, G., Choudhary, A.: An FPGA-based network intrusion detection architecture. IEEE Transactions on Information Forensics and Security 3(1), 118–132 (2008)CrossRefGoogle Scholar
  19. 19.
    De Schryver, C., Shcherbakov, I., Kienle, F., Wehn, N., Marxen, H., Kostiuk, A., Korn, R.: An energy efficient FPGA accelerator for Monte Carlo option pricing with the Heston model. In: International Conference on Reconfigurable Computing and FPGAs (ReConFig), pp. 468–474. IEEE (2011)Google Scholar
  20. 20.
    Dennl, C., Ziener, D., Teich, J.: On-the-fly composition of FPGA-based SQL query accelerators using a partially reconfigurable module library. In: IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM), pp. 45–52 (2012)Google Scholar
  21. 21.
    Edwards, S.A., Lee, E.A.: The case for the precision timed (PRET) machine. In: Proc. of Design Automat. Conf., pp. 264–265. ACM (2007)Google Scholar
  22. 22.
    Galuzzi, C., Bertels, K.: The instruction-set extension problem: A survey. ACM Trans. on Reconfig. Technol. and Syst. 4(2), 18 (2011)CrossRefGoogle Scholar
  23. 23.
    Grudnitsky, A., Bauer, L., Henkel, J.: COREFAB: concurrent reconfigurable fabric utilization in heterogeneous multi-core systems. In: Int. Conf. on Compilers, Architecture and Synthesis for Embed. Syst. (CASES), pp. 1–10 (2014)Google Scholar
  24. 24.
    Grudnitsky, A., Bauer, L., Henkel, J.: MORP: Makespan optimization for processors with an embedded reconfigurable fabric. In: ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA), pp. 127–136 (2014)Google Scholar
  25. 25.
    Grudnitsky, A., Bauer, L., Henkel, J.: Efficient partial online synthesis of special instructions for reconfigurable processors. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 25(2), 594–607 (2017)CrossRefGoogle Scholar
  26. 26.
    Henkel, J., Bauer, L., Becker, J., Bringmann, O., Brinkschulte, U., Chakraborty, S., Engel, M., Ernst, R., Härtig, H., Hedrich, L., Herkersdorf, A., Kapitza, R., Lohmann, D., Marwedel, P., Platzner, M., Rosenstiel, W., Schlichtmann, U., Spinczyk, O., Tahoori, M., Teich, J., Wehn, N., Wunderlich, H.J.: Design and architectures for dependable embedded systems. In: IEEE International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), pp. 365–374 (2011)Google Scholar
  27. 27.
    Henkel, J., Bauer, L., Dutt, N., Gupta, P., Nassif, S., Shafique, M., Tahoori, M., Wehn, N.: Reliable on-chip systems in the nano-era: Lessons learnt and future trends. In: IEEE/ACM Design Automation Conference (DAC) (2013)Google Scholar
  28. 28.
    Henkel, J., Herkersdorf, A., Bauer, L., Wild, T., Hübner, M., Pujari, R.K., Grudnitsky, A., Heisswolf, J., Zaib, A., Vogel, B., et al.: Invasive manycore architectures. In: Asia and South Pacific Design Automation Conference (ASP-DAC), pp. 193–200 (2012)Google Scholar
  29. 29.
    Hoang, T., Nguyen, V.L.: An efficient FPGA implementation of the advanced encryption standard algorithm. In: IEEE Int. Conf. on Computing Communication Technologies, Research, Innovation, and Vision for the Future (RIVF), pp. 1–4 (2012)Google Scholar
  30. 30.
    Honegger, D., Oleynikova, H., Pollefeys, M.: Real-time and low latency embedded computer vision hardware based on a combination of FPGA and mobile CPU. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4930–4935 (2014)Google Scholar
  31. 31.
    Lam, S.K., Srikanthan, T., Clarke, C.: Selecting profitable custom instructions for area-time-efficient realization on reconfigurable architectures. IEEE Transactions on Industrial Electronics 56(10), 3998–4005 (2009)CrossRefGoogle Scholar
  32. 32.
    Li, Y.T.S., Malik, S.: Performance analysis of embedded software using implicit path enumeration. In: Workshop on Languages, Compilers, & Tools for Real-time Syst., pp. 88–98 (1995)Google Scholar
  33. 33.
    Lockwood, J.W., McKeown, N., Watson, G., Gibb, G., Hartke, P., Naous, J., Raghuraman, R., Luo, J.: NetFPGA–an open platform for gigabit-rate network switching and routing. In: IEEE International Conference on Microelectronic Systems Education (MSE), pp. 160–161 (2007)Google Scholar
  34. 34.
    Puschner, P., Koza, C.: Calculating the maximum execution time of real-time programs. Real-Time Syst. 1(2), 159–176 (1989)CrossRefGoogle Scholar
  35. 35.
    Putnam, A., Caulfield, A.M., Chung, E.S., Chiou, D., Constantinides, K., Demme, J., Esmaeilzadeh, H., Fowers, J., Gopal, G.P., Gray, J., et al.: A reconfigurable fabric for accelerating large-scale datacenter services. ACM SIGARCH Computer Architecture News 42(3), 13–24 (2014)CrossRefGoogle Scholar
  36. 36.
    Rossi, E., Damschen, M., Bauer, L., Buttazzo, G., Henkel, J.: Preemption of the partial reconfiguration process to enable real-time computing with FPGAs. ACM Transactions on Reconfigurable Technology and Systems (TRETS) 11(2), 10 (2018)Google Scholar
  37. 37.
    Sabeghi, M., Sima, V.M., Bertels, K.: Compiler assisted runtime task scheduling on a reconfigurable computer. In: Field Programmable Logic and Applications (FPL), pp. 44–50 (2009)Google Scholar
  38. 38.
    Schoeberl, M.: Time-predictable computer architecture. EURASIP Journal on Embed. Syst. pp. 2:1–2:17 (2009)Google Scholar
  39. 39.
    Tessier, R., Burleson, W.: Reconfigurable computing for digital signal processing: A survey. Journal of VLSI signal processing systems for signal, image and video technology 28(1-2), 7–27 (2001)CrossRefGoogle Scholar
  40. 40.
    Tessier, R., Pocek, K., DeHon, A.: Reconfigurable Computing Architectures. Proceedings of the IEEE 103(3), 332–354 (2015)CrossRefGoogle Scholar
  41. 41.
    Thiele, L., Wilhelm, R.: Design for timing predictability. Real-Time Syst. 28(2-3), 157–177 (2004)CrossRefGoogle Scholar
  42. 42.
    Watkins, M., Albonesi, D.: ReMAP: a reconfigurable heterogeneous multicore architecture. In: International Symposium on Microarchitecture (MICRO), pp. 497–508 (2010)Google Scholar
  43. 43.
    Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., Stenström, P.: The Worst-case Execution-time Problem—Overview of Methods and Survey of Tools. ACM Trans. Embed. Comput. Syst. 7(3), 36:1–36:53 (2008)Google Scholar
  44. 44.
    Wilhelm, R., Grund, D., Reineke, J., Schlickling, M., Pister, M., Ferdinand, C.: Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems. Trans. on Comput.-Aided Design of Integrated Circuits and Syst. 28(7), 966–978 (2009)CrossRefGoogle Scholar
  45. 45.
    Zhang, H., Bauer, L., Henkel, J.: Resource budgeting for reliability in reconfigurable architectures. In: IEEE/ACM Design Automation Conference (DAC) (2016)Google Scholar
  46. 46.
    Zhang, H., Bauer, L., Kochte, M.A., Schneider, E., Braun, C., Imhof, M.E., Wunderlich, H.J., Henkel, J.: Module diversification: Fault tolerance and aging mitigation for runtime reconfigurable architectures. In: IEEE International Test Conference (ITC), pp. 1–10 (2013)Google Scholar
  47. 47.
    Zhang, H., Bauer, L., Kochte, M.A., Schneider, E., Wunderlich, H.J., Henkel, J.: Aging resilience and fault tolerance in runtime reconfigurable architectures. IEEE Transactions on Computers (TC), Special Section on Innovation in Reconfigurable Computing Fabrics from Devices to Architectures 66(6), 957–970 (2017)Google Scholar
  48. 48.
    Zhang, H., Kochte, M.A., Imhof, M.E., Bauer, L., Wunderlich, H.J., Henkel, J.: GUARD: Guaranteed reliability in dynamically reconfigurable systems. In: IEEE/ACM Design Automation Conference (DAC) (2014)Google Scholar
  49. 49.
    Zhang, H., Kochte, M.A., Schneider, E., Bauer, L., Wunderlich, H.J., Henkel, J.: STRAP: Stress-aware placement for aging mitigation in runtime reconfigurable architectures. In: IEEE/ACM International Conference on Computer-Aided Design (ICCAD) (2015)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Karlsruhe Institute of TechnologyKarlsruheGermany

Personalised recommendations