Programmable Logic as Device Virtualization Layer in Heterogeneous Multicore Architectures

  • Falco K. BappEmail author
  • Oliver Sander
  • Timo Sandmann
  • Hannes Stoll
  • Jürgen Becker
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9625)


In latest heterogeneous multicore architectures, the number of cores competing for a shared resource is further increasing. Such shared resources range from simple I/O interfaces to memory controllers. The performance of the complete System-On-Chip (SoC) is directly correlated to the sharing of resources. Especially the hardly predictable blocking of resources for a certain time, forces the system to slow down in a way that is not intended. Hence new concepts for the sharing of resources need to be developed. The use of virtualization provides possibilities to handle the sharing of resources but always introduces an overhead in software in form of a hypervisor and also needs support on hardware level. In this contribution we explore the idea of using the FPGA fabric as intermediate hardware virtualization layer between the cores and existing peripherals in a heterogeneous multicore SoC. This paper applies the idea exemplarily to Controller Area Network (CAN) virtualization, including concept and evaluation. We show the transparency of a virtualization layer and its introduction with low overhead of area and latency, which might serve as efficient add-on in a virtualized environment.



This work was funded within the project ARAMiS by the German Federal Ministry for Education and Research with the funding IDs 01IS11035. The responsibility for the content remains with the authors.


  1. 1.
    Aguiar, A., Hessel, F.: Embedded systems’ virtualization: the next challenge? In: 21st IEEE International Symposium on Rapid System Prototyping, pp. 1–7, June 2010Google Scholar
  2. 2.
    Gansel, S., Schnitzer, S., Dürr, F., Rothermel, K., Maihöfer, C.: Towards virtualization concepts for novel automotive HMI systems. In: Schirner, G., Götz, M., Rettberg, A., Zanella, M.C., Rammig, F.J. (eds.) IESS 2013. IFIP AICT, vol. 403, pp. 193–204. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  3. 3.
    Heiser, G.: The role of virtualization in embedded systems. In: Proceedings of 1st Workshop on Isolation and Integration in Embedded Systems. ACM (2008)Google Scholar
  4. 4.
    Herber, C., Reinhardt, D., Richter, A., Herkersdorf, A.: HW/SW trade-offs in I/O virtualization for controller area networkGoogle Scholar
  5. 5.
    Herber, C., Richter, A., Rauchfuss, H., Herkersdorf, A.: Self-virtualized CAN controller for multi-core processors in real-time applications. In: Kubátová, H., Hochberger, C., Daněk, M., Sick, B. (eds.) ARCS 2013. LNCS, vol. 7767, pp. 244–255. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  6. 6.
    Herber, C., Richter, A., Rauchfuss, H., Herkersdorf, A.: Spatial and temporal isolation of virtual can controllers. SIGBED Rev. 11(2), 19–26 (2014)CrossRefGoogle Scholar
  7. 7.
    Kim, J., Lee, S., Jin, H.: Fieldbus virtualization for integrated modular avionics. In: IEEE 16th Conference on Emerging Technologies & Factory Automation (ETFA) (2011)Google Scholar
  8. 8.
    Menon, A., Santos, J.R., Turner, Y., Janakiraman, G.J., Zwaenepoel, W.: Diagnosing performance overheads in the xen virtual machine environment. In: Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments (2005)Google Scholar
  9. 9.
    Pham, K.D., Jain, A., Cui, J., Fahmy, S., Maskell, D.: Microkernel hypervisor for a hybrid arm-FPGA platform. In: Application-Specific Systems, Architectures and Processors (ASAP) (2013)Google Scholar
  10. 10.
    Pratt, I., Fraser, K., Hand, S., Limpach, C., Warfield, A., Magenheimer, D., Nakajima, J., Mallick, A.: Xen 3.0 and the art of virtualization. In: Proceedings of the 2005 Ottawa Linux Symposium, July 2005Google Scholar
  11. 11.
    Raj, H., Schwan, K.: High performance and scalable I/O virtualization via self-virtualized devices. In: Proceedings of the 16th International Symposium on High Performance Distributed Computing, HPDC 2007, New York, NY, USA (2007)Google Scholar
  12. 12.
    Reinhardt, D., Adam, D., Luebbers, E., Amarnath, R., Schneider, R., Gansel, S., Schnitzer, S., Herber, C., Sandmann, T., Michel, H.U., Kaule, D., Olkun, D., Rehm, M., Harnisch, J., Richter, A., Baehr, S., Sander, O., Becker, J., Baumgarten, U., Theiling, H.: Embedded virtualization approaches for ensuring safety and security within e/e automotive systems. In: Embedded World Conference (2015)Google Scholar
  13. 13.
    Reinhardt, D., Güntner, M., Obermeir, S.: Virtualized communication controllers in safety-related automotive embedded systems. In: Pinho, L.M.P., Karl, W., Cohen, A., Brinkschulte, U. (eds.) ARCS 2015. LNCS, vol. 9017, pp. 173–185. Springer, Heidelberg (2015)Google Scholar
  14. 14.
    Sugerman, J., Venkitachalam, G., Lim, B.H.: Virtualizing I/O devices on vmware workstation’s hosted virtual machine monitor. In: Proceedings of the General Track: USENIX Annual Technical Conference (2001)Google Scholar
  15. 15.
    Vuletic, M., Righetti, L., Pozzi, L., Ienne, P.: Operating system support for interface virtualisation of reconfigurable coprocessors. In: Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (2004)Google Scholar
  16. 16.
    Xilinx: Zynq-7000 All Programmable SoC, technical Reference Manual (2013)Google Scholar
  17. 17.
    Xilinx: LogiCORE IP AXI Timer v2.0, product Guide (2014)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Falco K. Bapp
    • 1
    Email author
  • Oliver Sander
    • 1
  • Timo Sandmann
    • 1
  • Hannes Stoll
    • 1
  • Jürgen Becker
    • 1
  1. 1.Karlsruhe Institute of Technology (KIT)KarlsruheGermany

Personalised recommendations