Abstract
Mapping complex embedded applications to FPGA based SoCs often results in systems consisting of multiple processors to maintain high processing rates. Such systems can be created individually for each application, since FPGAs have very small non-recurring expenses. Thus, the system architecture (including the number of cores and the partitioning and distribution of tasks) must be derived and executed by the developer multiple times. In most cases it is not possible to analytically compute the design performance, so design space exploration comes into play. In this contribution we present a technique leveraging a combination of tools to (1) greatly reduce the effort to create different solutions in the design space and (2) reduce the time required for this design implementation by a factor of three. Compared to similar approaches, we claim to have a highly accurate design point evaluation and loosen the restrictions of the legacy application.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Abdallah, A.B.: Multicore Systems On-Chip: Practical Software/Hardware Design. Atlantis Press, Amsterdam (2013). https://doi.org/10.2991/978-94-91216-92-3
Cummiskey, P., Jayant, N., Flanagan, J.: Adaptive quantization in differential PCM coding of speech. Bell Syst. Techn. J. 52, 1105–1118 (1973)
Dave, C., Bae, H., Min, S.J., Lee, S., Eigenmann, R., Midkiff, S.: Cetus: a source-to-source compiler infrastructure for multicores. Computer 42, 36–42 (2009)
Ha, S., Lee, C., Yi, Y., Kwon, S., Joo, Y.P.: Hardware-software codesign of multimedia embedded systems: the peace approach. In: RTCSA (2006)
Heid, K., Wirsch, R., Hochberger, C.: Automated inference of SoC configuration through firmware source code analysis. In: FPGAs for Software Programmers (FSP), pp. 1–9 (2016)
Heid, K., Weber, J., Hochberger, C.: \(\upmu \)Streams: a tool for automated streaming pipeline generation on soft-core processors. In: FPGAs for General Purpose Computing (2016)
Hempel, G., Hochberger, C.: A resource optimized SoC kit for FPGAs. In: International Conference on Field Programmable Logic and Applications, pp. 761–764 (2007)
Kangas, T., Kukkala, P., Orsila, H., Salminen, E., Hännikäinen, M., Hämäläinen, T., Riihimäki, J., Kuusilinna, K.: UML-based MPSoC design framework. ACM TECS 5, 281–320 (2006)
Keinert, J., Streubhr, M., Schlichter, T., Falk, J., Gladigau, J., Haubelt, C., Teich, J., Meredith, M.: SystemCoDesigner - an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications. ACM TODAES 14, 1:1–1:23 (2009)
Kinsy, M.A., Pellauer, M., Devadas, S.: Heracles: a tool for fast RTL-based design space exploration of multicore processors. In: ACM/SIGDA FPGA, pp. 125–134 (2013)
Lavin, C., Padilla, M., Lamprecht, J., Lundrigan, P., Nelson, B., Hutchings, B.: HMFlow: accelerating FPGA compilation with hard macros for rapid prototyping. In: Field-Programmable Custom Computing Machines (FCCM), pp. 117–124 (2011)
Lavin, C., Padilla, M., Lundrigan, P., Nelson, B., Hutchings, B.: Rapid prototyping tools for FPGA designs: RapidSmith. In: FPT, pp. 353–356 (2010)
Monchiero, M., Canal, R., González, A.: Design space exploration for multicore architectures: a power/performance/thermal view. In: ICS, pp. 177–186 (2006)
Munk, H., Ayguadé, E., Bastoul, C., Carpenter, P., Chamski, Z., Cohen, A., Cornero, M., Dumont, P., Duranton, M., Fellahi, M., Ferrer, R., Ladelsky, R., Lindwer, M., Martorell, X., Miranda, C., Nuzman, D., Ornstein, A., Pop, A., Pop, S., Pouchet, L.N., Ramírez, A., Ródenas, D., Rohou, E., Rosen, I., Shvadron, U., Trifunović, K., Zaks, A.: ACOTES project: advanced compiler technologies for embedded streaming. Int. J. Parallel Program. 39, 397–450 (2010)
Pop, A., Cohen, A.: OpenStream: expressiveness and data-flow compilation of OpenMP streaming programs. ACM TACO 9, 53 (2013)
Dolbeau, R., Bihan, S., Bodin, F.: HMPP: a hybrid multi-core parallel programming environment. In: Workshop on General Purpose Processing on GPU (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: IEEE/ACM/IFIP CODES+ISSS, pp. 9–14 (2007)
Wenzel, J., Hochberger, C.: RapidSoC: short turnaround creation of FPGA based SoCs. In: International Symposium on Rapid System Prototyping, pp. 86–92 (2016)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Heid, K., Wenzel, J., Hochberger, C. (2018). Fast DSE for Automated Parallelization of Embedded Legacy Applications. In: Voros, N., Huebner, M., Keramidas, G., Goehringer, D., Antonopoulos, C., Diniz, P. (eds) Applied Reconfigurable Computing. Architectures, Tools, and Applications. ARC 2018. Lecture Notes in Computer Science(), vol 10824. Springer, Cham. https://doi.org/10.1007/978-3-319-78890-6_38
Download citation
DOI: https://doi.org/10.1007/978-3-319-78890-6_38
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-78889-0
Online ISBN: 978-3-319-78890-6
eBook Packages: Computer ScienceComputer Science (R0)