Hardware APIs: A Software-Centric Approach for Automated Derivation of MPSoC Hardware Structures Based on Static Code Analysis

  • Matthias Meier
  • Mark Breddemann
  • Olaf Spinczyk
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8350)


Multiprocessor systems on a chip (MPSoCs) are a popular class of course-grained parallel computer architectures, which are very useful, because they support re-use of legacy software components and application-specific tailoring of hardware structures at the same time. Furthermore, model-driven design frameworks for MPSoCs such as Xilinx’ EDK or our own LavA-framework facilitate very fast system development. However, in this paper we argue that these design frameworks are not ideal from the development process perspective. Instead, we propose a software-centric approach that is based on the hardware API concept. The API is a representation of hardware components on the software level, which is generated from a hardware meta-model. It allows us to automatically derive a hardware structure based on access patterns in software, revealed by a static code analysis. This trick reduces the number of hardware details the developer needs to deal with and avoids configuration inconsistencies between the hardware and software levels by design.


Software Product Line Hardware Component Design Space Exploration Hardware Description Language Hardware Structure 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arpinen, T., Kukkala, P., Salminen, E., Hännikäinen, M., Hämäläinen, T.D.: Configurable multiprocessor platform with RTOS for distributed execution of UML 2.0 designed applications. In: Proceedings of the Conference on Design, Automation and Test in Europe (DATE 2006), Washington, D.C., USA (2006)Google Scholar
  2. 2.
    Carara, E., de Oliveira, R., Calazans, N.L.V., Moraes, F.: Hemps - a framework for noc-based mpsoc generation. In: IEEE International Symposium on Circuits and Systems (ISCAS 2009), pp. 1345–1348 (2009)Google Scholar
  3. 3.
    Honda, S., Wakabayashi, T., Tomiyama, H., Takada, H.: Rtos-centric hardware/software cosimulator for embedded system design. In: Int. Conf. on Hardware/Software Codesign and System Synthesis (CODES+ISSS 2004), pp. 158–163 (2004)Google Scholar
  4. 4.
    Kahn, G.: The semantics of a simple language for parallel programming. In: Rosenfeld, J.L. (ed.) Information Processing, Stockholm, Sweden, pp. 471–475. North Holland, Amsterdam (1974)Google Scholar
  5. 5.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, Carnegie Mellon University, Software Engineering Institute, Pittsburgh, PA (November 1990)Google Scholar
  6. 6.
    Kangas, T., Kukkala, P., Orsila, H., Salminen, E., Hännikäinen, M., Hämäläinen, T.D., Riihimäki, J., Kuusilinna, K.: Uml-based multiprocessor soc design framework. ACM Trans. Embed. Comput. Syst. 5(2), 281–320 (2006)CrossRefGoogle Scholar
  7. 7.
    Kumar, S., Aylor, J., Johnson, B., Wulf, W.: Object-oriented techniques in hardware design. Computer 27(6), 64–70 (1994)CrossRefGoogle Scholar
  8. 8.
    Lukovic, S., Fiorin, L.: An automated design flow for NoC-based MPSoCs on FPGA. In: 19th IEEE/IFIP Intl. Symposium on Rapid System Prototyping (RSP 2008), pp. 58–64 (June 2008)Google Scholar
  9. 9.
    Lyonnard, D., Yoo, S., Baghdadi, A., Jerraya, A.: Automatic generation of application-specific architectures for heterogeneous multiprocessor system-on-chip. In: Design Automation Conference (DAC 2001), pp. 518–523 (2001)Google Scholar
  10. 10.
    Meier, M., Engel, M., Steinkamp, M., Spinczyk, O.: LavA: An open platform for rapid prototyping of MPSoCs. In: 2010 Int. Conf. on Field Programmable Logic and Applications (FPL 2010), Milano, Italy, pp. 452–457. IEEE Computer Society Press (2010)Google Scholar
  11. 11.
    Roth, R., Ramanathan, D.: A high-level hardware design methodology using c++. In: 4th High Level Design Validation and Test Workshop, pp. 73–80 (1999)Google Scholar
  12. 12.
    Schirmeier, H., Spinczyk, O.: Tailoring infrastructure software product lines by static application analysis. In: 11th Int. Software Product Line Conference (SPLC 2007), pp. 255–260. IEEE Computer Society Press (2007)Google Scholar
  13. 13.
    Schirmeier, H., Spinczyk, O.: Challenges in software product line composition. In: 42nd Hawaii Int. Conf. on System Sciences (HICSS 2009), pp. 1–7. IEEE Computer Society Press, Waikoloa (January 2009)Google Scholar
  14. 14.
    Tanenbaum, A.S.: Structured Computer Organization, 5th edn. Prentice-Hall, Inc., Upper Saddle River (2005)Google Scholar
  15. 15.
    Thiele, L., Bacivarov, I., Haid, W., Huang, K.: Mapping applications to tiled multiprocessor embedded systems. In: 7th Int. Conf. on Application of Concurrency to System Design (ACSD 2007), pp. 29–40 (2007)Google Scholar
  16. 16.
    Thompson, M., Nikolov, H., Stefanov, T., Pimentel, A.D., Erbas, C., Polstra, S., Deprettere, E.F.: A framework for rapid system-level exploration, synthesis, and programming of multimedia mp-socs. In: 5th Int. Conf. on Hardware/software Codesign and System Synthesis (CODES+ISSS 2007), pp. 9–14. ACM (2007)Google Scholar
  17. 17.
    Urban, M., Lohmann, D., Spinczyk, O.: Puma: An aspect-oriented code analysis and manipulation framework for C and C++. In: Katz, S. (ed.) Transactions on AOSD VIII. LNCS, vol. 6580, pp. 144–165. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  18. 18.
    Wallentowitz, S., Lankes, A., Zaib, A., Wild, T., Herkersdorf, A.: A framework for open tiled manycore system-on-chip. In: 22nd Int. Conf. on Field Programmable Logic and Applications (FPL 2012), pp. 535–538 (2012)Google Scholar
  19. 19.
    Xiong, Z., Zhang, M., Li, S., Liu, S., Chao, Y.: Virtual embedded operating system for hardware/software co-design. In: 6th Int. Conf. on ASIC. ASICON, vol. 2, pp. 939–943 (2005)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Matthias Meier
    • 1
  • Mark Breddemann
    • 1
  • Olaf Spinczyk
    • 1
  1. 1.Department of Computer Science 12Technische Universität DortmundGermany

Personalised recommendations