eMBP (Model Based Parallelizer) uses models designed with the MathWorks(R) Simulink(R) design tool to automatically generate parallel code for multi- and many-core systems with high reliability and performance. 

Model-based development (MBD) enhances design quality and final system reliability, and is increasingly being adopted in applications with stringent safety demands, including in-vehicle ECUs and in the aerospace industry. Use of intelligent functions is growing in these applications, and with this comes a need for multi- and many-core technologies that offer excellent performance and power efficiency. Unfortunately, existing MBD and parallelization tools are not well suited to generating code that is optimized for multi- and many-core systems. This makes it difficult to identify where parallelism can be used and to achieve the optimal allocation of parallel programs to cores and at the same time ensure safety and real-time capability.

Using Simulink models as its input, eMBP automatically generates parallel code with higher reliability and execution efficiency, which reflects the intention of the design. While parallelization of control algorithms is difficult to achieve through analysis of C source code alone, eMBP makes it easy to achieve in a way that accurately reflects the designer’s intentions. Because eMBP can use models with a higher level of abstraction than the C source code used by existing parallelization tools, it helps reduce both development time and cost. 

eMBP was developed by eSOL, and sales and product support are provided by eSOL TRINITY Co., Ltd. Contact eSOL TRINITY for any inquiries related to product deployment.

* Click the diagram to display an enlargement.


Block structure extraction
The block structure browser identifies opportunities for parallel execution at the block level from the Simulink model.

Performance estimation
Once extracted, the tool estimates execution performance based on the architecture and performance data of the multi- or many-core processor to be implemented. These performance estimates use the XML-based Software-Hardware Interface for Multi-Many Core (SHIM) format of The Multicore Association. Using the SHIM format allows integrating platform hardware information, to further refine the best technique to parallelize the algorithms.

Core mapping
Core mapping groups together blocks that can be executed in parallel and assigns them to cores.

Parallelized code generation
Once properly configured, the tool automatically generates parallelized C source code.

An intuitive display tool allows looking at the relationships between the blocks that have been grouped for each core.

eMBP Adaptor for Renesas PILS

This platform-specific addition enables eMBP to work with a Processor-In-The-Loop Simulation (PILS) environment for RH850 multi-core microcontrollers made by Renesas Electronics. It includes a block structure extraction function, and a core mapping function based on accurate performance estimation using PILS.

Details of "Embedded Target for RH850 Multicore" of Renesas Electronics

eMBP was developed through joint research between eSOL and the Edahiro Laboratory of Nagoya University, with assistance from the Strategic Innovation Program for Energy Conservation of the New Energy and Industrial Technology Development Organization (NEDO).

Related Materials

  • Model Based Parallelizer "eMBP"
eMBP: Model Based Parallelizer

  • RTOS and automatic parallelization solution maximize
    many-core processor performance for AI
RTOS and automatic parallelization solution maximize many-core processor performance for AI