Design Automation for Embedded Systems

, Volume 23, Issue 3–4, pp 103–122 | Cite as

Memphis: a framework for heterogeneous many-core SoCs generation and validation

  • Marcelo Ruaro
  • Luciano L. Caimi
  • Vinicius Fochi
  • Fernando G. MoraesEmail author


This work presents Memphis, which comprises a flexible EDA framework and a many-core model for heterogeneous SoCs. The framework, together with the many-core model supports the integration of processors, network interfaces, routers, and peripherals. A set of tools enable a decoupled generation and compilation of the hardware, operating systems, and applications. The hardware model is cycle-accurate, with a SystemC model to speed up simulation time and a VHDL model enabling prototyping in FPGAs devices. The framework provides a rich set of graphical debugging tools enabling an easy and intuitive understanding of computation and communication events happening at runtime. The coupled integration of the platform model to the EDA framework makes Memphis well suited to be employed in research and teaching. As case studies, we provide a set of evaluations addressing the many-core generation, simulation, and debugging. Different applications sets were employed, enabling to characterize the computation and communication performance of the many-core, as well as, evaluate an AES encryption application performance according to different levels of parallelism.


Heterogeneous many-core NoC Architecture model Debug framework 



This study was financed in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001. Fernando Gehm Moraes is supported by FAPERGS (17/2551-0001196-1) and CNPq (302531/2016-5), Brazilian funding agencies. Luciano L. Caimi and Vinicius Fochi are supported by CAPES (184993/2018-00, 184851/2018-00). Marcelo Ruaro is supported by CAPES/FAPERGS (88887.196173/2018-00).


  1. 1.
    Balkind J, McKeown M, Fu Y, Nguyen T, Zhou Y, Lavrov A, Shahrad M, Fuchs A, Payne S, Liang X, Matl M, Wentzlaff D (2016) OpenPiton: An open source manycore research framework. In: ASPLOS, pp 217–232. CrossRefGoogle Scholar
  2. 2.
    Busseuil R, Barthe L, Almeida GM, Ost L, Bruguier F, Sassatelli G, Benoit P, Robert M, Torres L (2011) Open-scale: a scalable, open-source NOC-based MPSoC for design space exploration. In: RECONFIG, pp 357–362.
  3. 3.
    Carara E, Moraes FG (2008) Deadlock-free multicast routing algorithm for wormhole-switched mesh networks-on-chip. In: ISVLSI, pp 341–346.
  4. 4.
    Carara EA, de Oliveira RP, Calazans NLV, Moraes FG (2009) HeMPS—a framework for NoC-based MPSoC generation. In: ISCAS, pp 1345–1348.
  5. 5.
    Carvalho E, Marcon C, Calazans N, Moraes F (2009) Evaluation of static and dynamic task mapping algorithms in NoC-based MPSoCs. In: SOC, pp 87–90.
  6. 6.
    Castilhos G, Mandelli M, Madalozzo G, Moraes F (2013) Distributed resource management in NoC-based MPSoCs with dynamic cluster sizes. In: ISVLSI, pp 153–158.
  7. 7.
    Cheung N, Parameswaran S, Henkel J (2003) INSIDE: instruction selection/identification & design exploration for extensible processors. In: ICCAD, pp 291–297.
  8. 8.
    Elmohr MA, Eissa AS, Ibrahim M, Khamis M, El-Ashry S, Shalaby A, AbdElsalam M, El-Kharashi MW (2018) RVNoC: a framework for generating RISC-V NoC-based MPSoC. In: PDP, pp 617–621.
  9. 9.
    Hassan M (2018) Heterogeneous MPSoCs for mixed-criticality systems: challenges and opportunities. IEEE Des Test 35(4):47–55. CrossRefGoogle Scholar
  10. 10.
    Iniewski K (2012) Embedded systems: hardware, design, and implementation, 1st edn. Wiley, HobokenCrossRefGoogle Scholar
  11. 11.
    Intel: Intel’s New Mesh Architecture: The ‘Superhighway’ of the Data Center (2018).
  12. 12.
    Jiang N, Becker DU, Michelogiannakis G, Balfour J, Towles B, Shaw DE, Kim J, Dally WJ (2013) A detailed and flexible cycle-accurate Network-on-Chip simulator. In: ISPASS, pp 86–96.
  13. 13.
    Liu J (2000) Real-time system. Prentice Hall, Englewood CliffsGoogle Scholar
  14. 14.
    Martin MMK, Sorin DJ, Beckmann BM, Marty MR, Xu M, Alameldeen AR, Moore KE, Hill MD, Wood DA (2005) Multifacet’s general execution-driven multiprocessor simulator (GEMS) toolset. SIGARCH Comput Arch News 33(4):92–99. CrossRefGoogle Scholar
  15. 15.
  16. 16.
    Molanes RF, Amarasinghe K, Rodriguez-Andina J, Manic M (2018) Deep learning and reconfigurable platforms in the internet of things: challenges and opportunities in algorithms and hardware. IEEE Ind Electron Mag 12(2):36–49. CrossRefGoogle Scholar
  17. 17.
    Monemi A, Tang J, Palesi M, Marsono M (2017) ProNoC: a low latency network-on-chip based many-core system-on-chip prototyping platform. Microprocess Microsyst 54:60–74. CrossRefGoogle Scholar
  18. 18.
    Moraes FG, Calazans N, Mello A, Möller L, Ost L (2004) HERMES: an infrastructure for low area overhead packet-switching networks on chip. Integration 38(1):69–93. CrossRefGoogle Scholar
  19. 19.
    Muthukaruppan TS, Pricopi M, Venkataramani V, Mitra T, Vishin S (2013) Hierarchical power management for asymmetric multi-core in dark silicon era. In: DAC, pp 1–9.
  20. 20.
    Quan W, Pimentel AD (2016) A hierarchical run-time adaptive resource allocation framework for large-scale MPSoC systems. Des Autom Embed Syst 20(4):311–339. CrossRefGoogle Scholar
  21. 21.
    Rahmani AM, Haghbayan MH, Miele A, Liljeberg P, Jantsch A, Tenhunen H (2017) Reliability-aware runtime power management for many-core systems in the dark silicon era. IEEE Trans Very Large Scale Integr (VLSI) Syst 25(2):427–440. CrossRefGoogle Scholar
  22. 22.
    Rhoads S (2016) Plasma CPU Core.
  23. 23.
    Ruaro M, Chamorra H, Rubin F, Amory A, Moraes FG (2016) A data extraction and debugging framework for large-scale MPSoCs. In: ICECS, pp 616–619.
  24. 24.
    Ruaro M, Lazzarotto FB, Marcon CA, Moraes FG (2016) DMNI: a specialized network interface for NoC-based MPSoCs. In: ISCAS, pp 1202–1205.
  25. 25.
    Ruaro M, Moraes FG (2016) Dynamic real-time scheduler for large-scale MPSoCs. In: GLSVLSI, pp 341–346.
  26. 26.
    Ruaro M, Moraes FG (2017) Demystifying the cost of task migration in distributed memory many-core systems. In: ISCAS, pp 1–4.
  27. 27.
    Singh AK, Shafique M, Kumar A, Henkel J (2013) Mapping on multi/many-core systems: survey of current and emerging trends. In: DAC, pp 1–10.
  28. 28.
    Skalicky S, Schmidt AG, Lopez S, French M (2015) A unified hardware/software MPSoC system construction and run-time framework. In: DATE, pp 301–304.
  29. 29.
    Xu J, Wolf W, Henkel J, Chakradhar S, Lv T (2004) A case study in networks-on-chip design for embedded video. In: DATE, pp 770–775.
  30. 30.
    Zhang Q, Zhou M, Chen J, Yang H (2015) A homogeneous many-core x86 processor full system framework based on NoC. In: ICCSNT, pp 794–797.

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Pontifical Catholic University of Rio Grande do SulPorto AlegreBrazil
  2. 2.UFFSChapecóBrazil

Personalised recommendations