Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
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)
Kumar, S., Aylor, J., Johnson, B., Wulf, W.: Object-oriented techniques in hardware design. Computer 27(6), 64–70 (1994)
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)
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)
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)
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)
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)
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)
Tanenbaum, A.S.: Structured Computer Organization, 5th edn. Prentice-Hall, Inc., Upper Saddle River (2005)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Meier, M., Breddemann, M., Spinczyk, O. (2014). Hardware APIs: A Software-Centric Approach for Automated Derivation of MPSoC Hardware Structures Based on Static Code Analysis. In: Maehle, E., Römer, K., Karl, W., Tovar, E. (eds) Architecture of Computing Systems – ARCS 2014. ARCS 2014. Lecture Notes in Computer Science, vol 8350. Springer, Cham. https://doi.org/10.1007/978-3-319-04891-8_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-04891-8_10
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-04890-1
Online ISBN: 978-3-319-04891-8
eBook Packages: Computer ScienceComputer Science (R0)